does alias this work correctly?

Zhenya zheny at list.ru
Mon Jan 14 06:24:19 PST 2013


On Sunday, 13 January 2013 at 22:36:03 UTC, Jonathan M Davis 
wrote:
> On Sunday, January 13, 2013 20:41:48 Zhenya wrote:
>> On Sunday, 13 January 2013 at 19:35:08 UTC, Maxim Fomin wrote:
>> > According to spec http://dlang.org/class.html#AliasThis
>> > undefined lookups are forwarded to AliasThis member. But in
>> > your case Foo struct has bar member, so no further resolution
>> > is performed. Rename the member and the code compiles.
>> > 
>> > Note, this seems to come from neighbor thread
>> > http://forum.dlang.org/thread/uelmpwwckcveimpbdtdo@forum.dlang.org.
>> > I think it is simpler to rename functions than create bunch 
>> > of
>> > structs just to be able to have eponymous non-static and 
>> > static
>> > functions.
>> 
>> I just want very much avoid renaming function,it's principle 
>> for
>> me.
>> So I would like to know is my sample right or no.
>
> It functions exactly like it's supposed to. As Maxim said, 
> undefined lookups go
> to the alias this member. If Foo already has a bar and you try 
> and call it, it
> doesn't matter what Foo is aliased to, it's Foo's bar that's 
> going to be used.
>
> - Jonathan M Davis
Now it's clear for me,thank you.


More information about the Digitalmars-d-learn mailing list