I was one of the people who proposed something like that, back in 2001, as a "strict mode" for C++.[1] I wrote "The basic concept is that pointers and references explicitly declared as auto can't be used in ways that would let the data they contain outlive the scope of the auto variable." This is what Rust calls "borrowing". (That was written before C++ repurposed the "auto" keyword for other languages call "let".)
As a retrofit to C++, that idea wasn't going to work. It would have either been too restrictive or unsafe. It had to be built into the language at a deeper level. That's what Rust does.
As a retrofit to C++, that idea wasn't going to work. It would have either been too restrictive or unsafe. It had to be built into the language at a deeper level. That's what Rust does.
[1] http://www.animats.com/papers/languages/cppstrictpointers.ht...