blob: 8fd85055b306fa76ee93b6059415673d6a2beb0c [file] [log] [blame]
module b20875;
/*
TEST_OUTPUT:
---
fail_compilation/b20875.d(10): Error: template instance `Foo!int` does not match template declaration `Foo(alias T : None!U, U...)`
fail_compilation/b20875.d(10): while evaluating: `static assert(Foo!int)`
fail_compilation/b20875.d(11): Error: template instance `Bar!int` does not match template declaration `Bar(alias T : None!U, U...)`
fail_compilation/b20875.d(11): while evaluating: `static assert(!Bar!int)`
fail_compilation/b20875.d(14): Error: template parameter specialization for a type must be a type and not `NotAType()`
fail_compilation/b20875.d(15): while looking for match for `Baz!int`
fail_compilation/b20875.d(15): while evaluating: `static assert(!Baz!int)`
---
*/
#line 7
enum Foo(alias T : None!U, U...) = true;
enum Bar(alias T : None!U, U...) = false;
static assert( Foo!(int));
static assert(!Bar!(int));
template NotAType(){}
enum Baz(alias T : NotAType) = false;
static assert(!Baz!(int));
void main(){}