[dmd-internals] Fixing forward ref bugs for good
    David Nadlinger 
    code at klickverbot.at
       
    Wed Sep 14 02:14:45 PDT 2011
    
    
  
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
    
    
More information about the dmd-internals
mailing list