Multiple alias this, what's the hold up?

user1234 user1234 at 12.de
Mon Jun 17 16:18:55 UTC 2019


On Monday, 17 June 2019 at 16:13:07 UTC, rikki cattermole wrote:
> On 18/06/2019 3:58 AM, user1234 wrote:
>> On Monday, 17 June 2019 at 13:48:45 UTC, Mike Franklin wrote:
>>> I think if we had an `opAssignRight` feature (with friends) 
>>> we could move the entire implementation of `alias this` to 
>>> the library. [...]
>>> Mike
>> 
>> At first glance opAssignRight is a really **brilliant** idea 👍.
>> Why do you think that variants would be required ? i += s 
>> would work with the single op overload. Maybe it would more be 
>> something like
>> 
>> T opExtractRight(T){}, with T saying what type is involved in 
>> the operation
>> 
>> int i = s  rewritten as  int i = s.opExtractRight!int();
>> i += s     rewritten as  i += s.opExtractRight!int();
>
> Oh I like this.
> This way it doesn't fight the other operator overloads and can 
> be used (with them) only if they fail as-is.

It looks very much like "opCast" actually and a better named  is 
"opImplicitConv"
because right now the error message for Mike's little example 
says "cannot impliclty convert...".


More information about the Digitalmars-d mailing list