ModuleInfo.unitTest cannot be called twice
Jacob Carlborg
doob at me.com
Wed Dec 12 23:53:06 PST 2012
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
More information about the Digitalmars-d
mailing list