Most modern C++ code bases also completely lack explicit frees/deletes, but not many would argue that C++ is a managed language.
Though a more objective distinction is hard to give on what is a managed language, I found the garbage collection handbooks’ quote on the topic the most illuminating (linking to my older comment): https://news.ycombinator.com/item?id=35332600
In Rust and in C++ memory layout is part of your public APIs and has to be refactored when it changes. This is not the case with managed languages.
Though a more objective distinction is hard to give on what is a managed language, I found the garbage collection handbooks’ quote on the topic the most illuminating (linking to my older comment): https://news.ycombinator.com/item?id=35332600
In Rust and in C++ memory layout is part of your public APIs and has to be refactored when it changes. This is not the case with managed languages.