Enum member isManifestAssignable
Returns true if the argument is a manifest constant, built-in type field, or immutable static
enum isManifestAssignable(alias sym)
= __traits(compiles, ()
{
enum y = sym;
}
);
Example
struct A {
int m;
static immutable int sim = 1;
enum e = 1;
}
static assert(!isManifestAssignable!(A .m));
static assert( isManifestAssignable!(A .e));
static assert( isManifestAssignable!(A .sim));
static assert(!isManifestAssignable!int);