Trying to understand a simple piece of code: dmd barray
Steven Schveighoffer
schveiguy at gmail.com
Sat Mar 7 14:33:29 UTC 2020
On 3/7/20 8:06 AM, Dibyendu Majumdar wrote:
> On Saturday, 7 March 2020 at 12:26:32 UTC, drug wrote:
>
>>> I am trying to understand
>>> https://github.com/dlang/dmd/blob/master/src/dmd/backend/barray.d.
>>>
>>> Two questions:
>>>
>>> 1. What does this mean and why is it needed?
>>>
>>> line 95: alias array this;
>>>
>> This means that `array` can be used instead of `this`
>
> Hmm should not that change the meaning of this throughout the struct? is
> this good practice?
No, it's simply a fallback. If the symbol doesn't work with this.symbol,
try this.array.symbol.
It's D's version of implicit conversion.
You can make the alias this a no-arg function and it will try calling
that function.
-Steve
More information about the Digitalmars-d-learn
mailing list