On Monday, 24 December 2012 at 17:37:54 UTC, Andrei Alexandrescu
wrote:
On 12/24/12 12:11 PM, Jonathan M Davis wrote:
On Monday, December 24, 2012 17:55:23 Minas Mina wrote:
On Sunday, 23 December 2012 at 23:59:55 UTC, Jonathan M Davis
wrote:
On Monday, December 24, 2012 00:48:01 Namespace wrote:
but Andrei is dead set against
- Jonathan M Davis
Why?
He's convinced that it's caused problems for C++ and was a
major mistake. You
can search the newsgroup for discussions on it. The most
recent one which
involved Andrei was in the beta group:
http://forum.dlang.org/post/[email protected]
- Jonathan M Davis
An important smoking gun is C++'s min(), which is allows
writing unsafe code without casts.
const int& haveANiceDay = min(4, 5);
Andrei
But that example actually works correctly.
TBH, most of the "unsafe" code I have been presented regarding
the implict "cast + ref problem" comes from msvc accepting code
which is not actually legal C++.
In "legit" C++, you *can't* bind a rvalue to a (non const) ref.
gcc will turn you down if you tried any of those "unsafe"
examples.