Originally Posted by
Elysia
I believe they should never have been implemented in the first place.
The fact that many compilers do get it wrong means that it is not so much about a technical challenge but rather a forced unnecessary challenge added by the standard.
Instead of having to tell the compiler if it's a dependant type or function or whatever, the compiler could simply instantiate a template to get the correct meaning of the dependant name, avoiding the whole typename/template mess.
The only problem of doing so today would mean it would probably break a huge amount of code since templates aren't instantiated until used.
Or perhaps there's something I'm missing here, due to as to why the standard chose the way it did.