Unit tests in D

Don nospam at nospam.com
Wed May 5 06:11:35 PDT 2010


bearophile wrote:
> Michel Fortin:
> 
>> Am I right that what you want is this?
>> 	static assert(!__traits(compiles, foo(10)));
> 
> I want a nice syntax that statically asserts if foo(10) doesn't statically asserts :-)
> 
> What you have written is close (in D1 I have used the is() syntax for a similar purpose), but beside being syntactically ugly, it doesn't specifically detect static asserts inside foo.

It seems pretty useless to me. Wanting to make a distinction between 
"this will not compile" and "this will not compile _because it hits a 
static assert_" is an *extremely* niche feature. Because the only times 
I can imagine that you'd care would be because you wanted to ensure it 
gave a "nice" error message. And to do that, you'd have to actually 
check the test of the static assert.

And the idea of creating a whole heirarchy of compile-time exceptions 
for this ...


More information about the Digitalmars-d mailing list