ModuleInfo.unitTest cannot be called twice

Johannes Pfau nospam at example.com
Wed Dec 12 23:58:20 PST 2012


Am Wed, 12 Dec 2012 22:00:55 +0100
schrieb Jacob Carlborg <doob at me.com>:

> It seems it's not possible to call ModuleInfo.unitTest more than once.
> 
> The following code will not run the unit tests:
> 
> foreach (m ; ModuleInfo)
>      if (m && m.unitTest)
>          m.unitTest();
> 
> But this code will:
> 
> foreach (m ; ModuleInfo)
>      if (m)
>          if (auto fp = m.unitTest)
>              fp();
> 
> Not that I'm storing the result of "m.unitTest" in a variable in the 
> second example.
> 
> Am I doing something wrong here or is this a bug?
> 

I don't remember a reason why calling that function more than
once shouldn't work.

But: unitTest is a property returning a function so it might be related
to the optional parentheses / broken properties stuff. Does
"m.unitTest()()" compile?


More information about the Digitalmars-d mailing list