DIP 36: Rvalue References

deadalnix deadalnix at gmail.com
Wed Apr 10 06:51:55 PDT 2013


On Wednesday, 10 April 2013 at 12:40:57 UTC, Manu wrote:
> On 10 April 2013 22:27, Namespace <rswhite4 at googlemail.com> 
> wrote:
>
>> On Wednesday, 10 April 2013 at 11:37:43 UTC, Dicebot wrote:
>>
>>> On Wednesday, 10 April 2013 at 11:36:22 UTC, deadalnix wrote:
>>>
>>>> On Tuesday, 9 April 2013 at 17:06:47 UTC, Namespace wrote:
>>>>
>>>>> http://wiki.dlang.org/DIP36
>>>>>
>>>>
>>>> I see no point in adding that much complexity for something 
>>>> that can
>>>> mostly be automated.
>>>>
>>>
>>> Can you explain this a bit more extensively, probably with 
>>> some sort of
>>> counter-proposal? I can't see where complexity comes from, 
>>> this DIP
>>> introduces literally zero special cases.
>>>
>>
>> I think he means that the Compiler could/should decide, if 
>> something
>> should passed by ref or by value. But I think that would be 
>> far more
>> complex than scope ref/in ref.
>>
>
> Right. Yeah, seems more complex for sure. It's also
> unreliable/unpredictable. Same as with the pure conversation, I 
> really
> prefer explicit control of things to at least be an option. I 
> really don't
> want to be guessing about things that I may be depending on.

It is certainly more complex on the compiler implementation side. 
But the ends result can be much better, and any program would 
benefit from it.

Plus, do you know that depending on the ABI, some pass by value 
are already transformed as pass by ref ? This is already in place 
in some cases, and have been proven to work well.

Back to the DIP, it fail to define how and where lvalue are 
implicitely created, what are their lifetime, etc . . .

Finally, ref and scope would benefit much more from the 
introduction of lifetime into D than hacking around.


More information about the Digitalmars-d mailing list