DIP82: static unittest blocks
Jonathan M Davis via Digitalmars-d
digitalmars-d at puremagic.com
Sun Sep 27 07:37:07 PDT 2015
On Sunday, 27 September 2015 at 09:24:29 UTC, Jacob Carlborg
wrote:
> On 2015-09-27 07:01, Jonathan M Davis wrote:
>> This DIP provides a way to handle unittest blocks inside of
>> templates
>> which works with ddoc without compiling the unittest blocks
>> into each
>> instantiation.
>>
>> http://wiki.dlang.org/DIP82
>
> How would this work in the compiler? Currently it only lexes
> and parses uninstantiated templates. I think that Andrei also
> wants to make the lexing and parsing lazy.
I don't know the details of how this would be implemented in the
compiler, but clearly what that the compiler currently does is
enough to generate documentation from the ddoc comments inside of
templates, and I wouldn't think that detecting a static unittest
would be much more complicated than that. It can then do full
analysis of the static unittest if it's the module with the
template that's being compiled, and it's being compiled with
-unittest, and otherwise, it can pretty much ignore it (or at
least, ignore it as much as any other unittest block gets ignored
when -unittest isn't used).
But we have a real need here if we want to be able to actually
have unit tests inside of templated types next to what they're
unit testing. So, I would certainly hope that it's reasonable to
implement something like this without complicating the compiler
much. Certainly, the fact that ddoc works inside of templates
makes it seem like this should be feasible.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list