Still unresolved (Was: D1-D2 member call syntax regression?)

2010-07-28 Thread Nick Sabalausky
Nick Sabalausky a...@a.a wrote in message 
news:i2pvvi$2g8...@digitalmars.com...
 bearophile bearophileh...@lycos.com wrote in message 
 news:i2p4iq$p...@digitalmars.com...
 Nick Sabalausky:
 That's because my original example accidentally made Foo an 
 uninstantiated
 class template, so the compiler never bothered to check the semantics...

 Surely here there is no shortage of ways I can paint myself as a stupid 
 :-)
 In Python the () after the class name are optional and they do nothing, 
 so I didn't see them in that little D program :-)


 *I'm* the one that was dumb enough put them there in the first place! And 
 I can't use extensive Python experience as an excuse ;)


It still leaves the question though, Why isn't that working in D2? Bug or 
legitimate reason?.

Jonathan suggested it was deliberate because of the hidden this parameter, 
but I'm not convinced because 1) D1 has the hidden this param too, but it 
handles it just fine, and 2) It's just a syntactical issue, so I don't see 
how semantics could be a problem unless there's some other change in D2 that 
causes a conflict or ambiguity with that feature.

In any case, the error message seems to indicate that, deliberate or not, 
it's likely some sort of symbol-lookup/visibility issue.




Re: Still unresolved (Was: D1-D2 member call syntax regression?)

2010-07-28 Thread Don

Nick Sabalausky wrote:
Nick Sabalausky a...@a.a wrote in message 
news:i2pvvi$2g8...@digitalmars.com...
bearophile bearophileh...@lycos.com wrote in message 
news:i2p4iq$p...@digitalmars.com...

Nick Sabalausky:
That's because my original example accidentally made Foo an 
uninstantiated

class template, so the compiler never bothered to check the semantics...
Surely here there is no shortage of ways I can paint myself as a stupid 
:-)
In Python the () after the class name are optional and they do nothing, 
so I didn't see them in that little D program :-)


*I'm* the one that was dumb enough put them there in the first place! And 
I can't use extensive Python experience as an excuse ;)




It still leaves the question though, Why isn't that working in D2? Bug or 
legitimate reason?.


Jonathan suggested it was deliberate because of the hidden this parameter, 
but I'm not convinced because 1) D1 has the hidden this param too, but it 
handles it just fine, and 2) It's just a syntactical issue, so I don't see 
how semantics could be a problem unless there's some other change in D2 that 
causes a conflict or ambiguity with that feature.


In any case, the error message seems to indicate that, deliberate or not, 
it's likely some sort of symbol-lookup/visibility issue.



It worked in 2.012 and earlier, but failed in 2.020. I don't have any 
intermediate versions installed.


Re: Still unresolved (Was: D1-D2 member call syntax regression?)

2010-07-28 Thread Nick Sabalausky
Don nos...@nospam.com wrote in message 
news:i2q0un$2hu...@digitalmars.com...
 Nick Sabalausky wrote:

 It still leaves the question though, Why isn't that working in D2? Bug 
 or legitimate reason?.

 Jonathan suggested it was deliberate because of the hidden this 
 parameter, but I'm not convinced because 1) D1 has the hidden this 
 param too, but it handles it just fine, and 2) It's just a syntactical 
 issue, so I don't see how semantics could be a problem unless there's 
 some other change in D2 that causes a conflict or ambiguity with that 
 feature.

 In any case, the error message seems to indicate that, deliberate or not, 
 it's likely some sort of symbol-lookup/visibility issue.


 It worked in 2.012 and earlier, but failed in 2.020. I don't have any 
 intermediate versions installed.

I've gone ahead and filed a bug report:

http://d.puremagic.com/issues/show_bug.cgi?id=4525