Multiple alias this, what's the hold up?
Basile B.
b2.temp at gmx.com
Thu Jul 11 23:48:18 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.
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.
More information about the Digitalmars-d
mailing list