July 11, 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.

Hi. I've decided to give a try [1]. As expected it's reasonably simple
but I haven't tested it extensively. Actually I'm more interested by a second form that allows to implicitly convert a parameter to a custom type (called opImplicitConvL).

[1] : https://github.com/Basile-z/dmd/pull/2

Now as said on IRC, the harder is to write a solid proposal.

1 2 3 4 5 6
Next ›   Last »