"alias foo this" compiles when "foo" is not defined

Ary Borenszweig ary at esperanto.org.ar
Fri Jun 26 17:14:15 PDT 2009

Stewart Gordon escribió:
> Jarrett Billingsley wrote:
>> On Fri, Jun 26, 2009 at 5:54 PM, Ary Borenszweig<ary at esperanto.org.ar> 
>> wrote:
>>> Is is ok that this compiles without errors?
>>> class Foo {
>>>        alias errorProne this;
>>> }
> Errors as expected on 1.042; compiles on 2.029.
>> If I had to guess, it's only OK because the compiler probably doesn't
>> actually look for the aliased symbol until you actually try to access
>> something from it.  But that does seem .. wrong.
> It is wrong.  Since this isn't in a template, the compiler should 
> perform semantic analysis on it in any case, and thus report an error.
> But the really strange thing is that it doesn't complain about the 
> attempt to redefine 'this', which is a keyword.

It's called "alias this", that's not the problem:


I also think it should complain, because it makes no sense to just leave 
it there, unresolved.

More information about the Digitalmars-d-learn mailing list