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.