Enum member isLiteral

Checks if an alias is a literal

enum isLiteral(T...) = __traits(compiles, () { enum x = T[0]; } );

Example

int a;
void f() {}
assert( isLiteral!3);
assert( isLiteral!"hi");
assert(!isLiteral!int);
assert(!isLiteral!a);
assert(!isLiteral!f);