DIP82: static unittest blocks
Jonathan M Davis via Digitalmars-d
digitalmars-d at puremagic.com
Sun Sep 27 07:40:49 PDT 2015
On Sunday, 27 September 2015 at 14:10:06 UTC, Jack Stouffer wrote:
> On Sunday, 27 September 2015 at 05:01:48 UTC, 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.
>
> I understand that this DIP solves a genuine problem, so
> understand that this bike-sheding comment is not a dismissal of
> the idea.
>
> I think it's a bad idea to further confuse what static means,
> as it currently has no less than five different distinct uses.
>
> * static ifs
> * static array construction
> * static assert
> * static/shared static this
> * static functions/data
>
> Maybe a new keyword or some @attribute would make this clearer.
static in this case is consistent with how static is used on
constructors or any symbol at the class or struct level where it
makes it so that the symbol is for the class or struct as a whole
rather than per instance. For static unittest blocks, it makes it
so that the unittest is for the template as a whole and not for a
particular instantiation. So, this definitely in line with how
static works already, and I think that it would be much worse to
add a new keyword or attribute for this. static is the obvious
choice IMHO.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list