On Tuesday, 8 January 2013 at 05:29:15 UTC, Nick Sabalausky wrote:
On Mon, 07 Jan 2013 17:18:11 -0800
Walter Bright <[email protected]> wrote:
On 1/7/2013 3:19 PM, Nick Sabalausky wrote:
> On Thu, 03 Jan 2013 17:08:58 +0100
> "deadalnix" <[email protected]> wrote:
>>
>> However, it is just to discover that this do not work :
>>
>> struct Bar {}
>> auto foo(ref Bar bar) {}
>>
>> foo(Bar()); // Now this is an error !
>>
>> I still have code broken all over the place.
>
> IIRC, they tried to include this change in 2.060 (or was it
> 2.059?),
> but due to the major problems it causes, and the fact that
> it *does*
> make sense to use a temporary as an lvalue if you don't
> intend to
> use it again afterwords, there was a big discussion about it
> on the
> beta list and it was ultimately nixed. I'm disappointed to
> see that
> it snuck back.
>
Well, fixing the rvalue ref problem is still on the front
burner.
Wait, so are you saying that the above code which stopped
working in
2.061 will start working again in a later version?
No, I think he meant that breaking that code was actually fixing
the language because it shouldn't have worked in a first place
(thing I disagree with but I understand the reasoning).