Forward Reference Error in unittests
    rbscott 
    tjonsies818 at yahoo.com
       
    Wed Dec  4 09:52:13 UTC 2019
    
    
  
On Tuesday, 3 December 2019 at 11:31:40 UTC, MoonlightSentinel 
wrote:
> On Tuesday, 3 December 2019 at 10:30:34 UTC, mipri wrote:
>
>> Likewise this fails, but would succeed if foo were moved
>> out of the unit test:
>>
>> unittest {
>>     void foo(int x) { writeln(x); }
>>
>>     42.foo;
>> }
>
> Not a forward reference error, local symbols are excluded from 
> UFCS (see https://dlang.org/spec/function.html#pseudo-member)
I see, thanks for the explanation about unittests being a special 
case of functions. That is really helpful context and makes sense 
since functions should evaluate sequentially. A little surprised 
the same restrictions apply to a static struct declared inside of 
the unittest, but that is easy to work around by moving the 
declarations to the version section.
cheers,
rbscott
    
    
More information about the Digitalmars-d
mailing list