Even if you avoid those things, how does safe Rust make leaks more rare than in a GC language? Presumably leaks in a GC language or safe Rust are almost always going to be stuff like “pushing things into a vector repeatedly even though you only care about the last item in the vector”, and clearly safe Rust doesn’t stop you from doing this any more than a GC.
Note also that GC languages don’t even have the circular references case to worry about since they don’t have any need for reference counting in general.
Note also that GC languages don’t even have the circular references case to worry about since they don’t have any need for reference counting in general.