I hope I will see the day where “we could use C++ to solve this problem” is only ever used ironically.
How many people are actually left that understand C++ as a whole such that they could make recommendations and and have coherent visions on how to unbreak the language?
3? 20? Maybe 50?
And people say Rust is complicated! I haven’t done professional C++ code for 15 years, and every time I read something about the current state of C++ it eliminates any temptation to go back. It just sounds like a total morass of interacting archaeological special cases and a stdlib permanently broken for compatibility reasons. (I’m sure someone will say the usual thing about choosing a subset to use, but even that sounds intractable nowadays…)
When you learn C++ you learn that a const& can bind to temporaries. It’s common knowledge. Nothing I have ever read in the C++ literature has caused me to associate reference type with lifetime. Obviously Rust’s strict ownership/lifetime rules are better but if you’re simply going to wish guarantees into existence you will have problems programming in any language.