D 1.076 and 2.061 release

deadalnix deadalnix at gmail.com
Mon Jan 7 22:11:30 PST 2013


On Tuesday, 8 January 2013 at 05:29:15 UTC, Nick Sabalausky wrote:
> On Mon, 07 Jan 2013 17:18:11 -0800
> Walter Bright <newshound2 at digitalmars.com> wrote:
>
>> On 1/7/2013 3:19 PM, Nick Sabalausky wrote:
>> > On Thu, 03 Jan 2013 17:08:58 +0100
>> > "deadalnix" <deadalnix at gmail.com> 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).


More information about the Digitalmars-d-announce mailing list