SiegeLord wrote:
Gives an error. I don't see any problem here:a * b; // always a pointer declaration (a * b); // always a binary expression
There isn't one.C++ decides if a*b=c; is a declaration or expression based on whether 'a' is a type or a variable. That requires semantic analysis. D's rule does not.