On 2012-12-12 22:00, Jacob Carlborg wrote:
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 see what I did wrong. ModuleInfo.unitTest is a method these days, instead of a field like before. Due two how properties work in D it will only call the "unitTest" method and not the returned function pointer.

--
/Jacob Carlborg

Reply via email to