Borrow checker aside, I would like to think that its type system inherently makes it safer than a language like C.

You can write bad unsafe code in any language. Rust has a convenient keyword for that. C++ has types.