The liabilities of binding rvalues to ref

Steven Schveighoffer schveiguy at yahoo.com
Thu May 9 19:35:16 PDT 2013


On Thu, 09 May 2013 22:14:33 -0400, Andrei Alexandrescu  
<SeeWebsiteForEmail at erdani.org> wrote:

> On 5/9/13 10:05 PM, Steven Schveighoffer wrote:
>> On Thu, 09 May 2013 21:47:14 -0400, Andrei Alexandrescu
>> <SeeWebsiteForEmail at erdani.org> wrote:
>>
>>> On 5/9/13 4:36 PM, Peter Alexander wrote:
>>>> I'm not sure about how common it is, but I really don't like the idea  
>>>> of
>>>> calls like swap(1, 2) being legal. Seems like a step backward from  
>>>> C++.
>>>
>>> I think if we ever get swap(1, 2) to compile and run we'd effectively
>>> have destroyed the D programming language.
>>
>> Depends on context.
>>
>> int swap(int diskNum, int partitionNum);
>>
>> Someone pointed out that swap could be a function that swaps heap
>> indexes, and might even take by ref not caring if you want the resulting
>> value that was swapped.
>>
>> with(someHeap)
>> {
>> swap(1, 2); // swap indexes 1 and 2
>> }
>>
>> -Steve
>
> Now that's great trolling!

That's not great trolling, it's *clever* trolling ;)

I was actually half serious though, the name of the function is really  
important here, including the context.

-Steve


More information about the Digitalmars-d mailing list