Well, it is important to note that Rust is not "C/C with memory safety", but more like "Low-level safe OCaml"
You have async, proper iterators, proper declarative macros, procedural macros, real generics, unit instead of void (better because it's an actual value), proper module system with far more nuanced access control, typeclasses in the form of traits, tools for building abstractions in general, opt-out vs opt-in approach (will you remember to spam const and noalias for most variables in C & C ?), easy thread managament and threadsafety detection