dmd/compiler/test/compilable/test20653.d
2022-07-09 18:53:07 +02:00

19 lines
386 B
D

// LINK:
enum x = 10;
enum Thing { A, B }
enum IsThing(T) = is(T == enum) || (__traits(getLinkage, T) == "C++");
enum Is = IsThing!Thing;
static assert(Is);
enum Another(T) = is(T == int) && (__traits(getLinkage, T) == "C++");
static assert(!Another!Thing);
T myFunc(T)() { return T.init; }
enum Foo(T) = is(T == int) || myFunc!T();
void main ()
{
assert(myFunc!int() == 0);
}