does alias this work correctly?

Jonathan M Davis jmdavisProg at gmx.com
Sun Jan 13 14:35:05 PST 2013


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


More information about the Digitalmars-d-learn mailing list