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