On 9/14/11 9:47 AM, Walter Bright wrote:
On 9/14/2011 12:06 AM, Rainer Schuetze wrote:
This works out better than the current dmd implementation, e.g. when
forward referencing symbols in a mixin. There are still situations
that depend on interpretation order, but that is to be expected when
"static if" is used.
It might be good to define the lookup mechanism, so it would be
possible to determine whether a failing forward reference is beyond
expected behaviour rather than a compiler-implementation detail.
This is good stuff.
I'd love to see a clear definition of the behavior of »static if« and
friends, since trying to find out what happens e.g. when forward
referencing something from a mixin or referencing the mixed-in scope
from a mixin (e.g. via typeof(this), when the template is mixed into a
class/struct) is more or less pure guesswork right now.
Also, even if this certainly isn't the best way to advertise for D, it
would be great if the definition order-related peculiarities could be
clearly mentioned in the docs (e.g. for static if), since these issues
caused me a big headache when I first stumbled across them (and they
still occasionally do).
David
_______________________________________________
dmd-internals mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-internals