Is this a compiler aliasing bug?

Chris Katko ckatko at gmail.com
Thu Sep 23 04:40:12 UTC 2021


On Friday, 17 September 2021 at 10:29:12 UTC, bauss wrote:
> On Friday, 17 September 2021 at 09:44:53 UTC, Chris Katko wrote:
>> [...]
>
> It's not a bug because "obj.x" referes to the same symbol that 
> is "this.x"
>
> Alias will create an alias for a symbol, not an expression or 
> the like.
>
> So
>
> obj.x is the same as this.x and in that case the alias will 
> refer to the same thing.
>
> The problem here is that the function is local to the class, so 
> the alias will always refer to the class members directly and 
> not the passed instance.
>
> You really shouldn't use alias like this anyway and should just 
> use auto, if it's because you want to save typing.
>
> It shouldn't have any impact at all tbh.

Thanks everyone!

Okay, so yeah, back in 2017 I definitely was still learning D. 
And, after a year or two, I was re-learning it... using this bad 
learner codebase! There's been plenty of other things I had to 
fix that are "no-nos" in my modern codebases.




More information about the Digitalmars-d-learn mailing list