Then you misunderstand what unsafe means in Rust. Every single Rust binary needs to eventually call unsafe code at some layer of the callstack.
Is creating a TCP socket using stdlib functions unsafe? How about writing to a file? Or acquiring a mutex?
I would suggest doing some more reading before chiming in here :)