enum BoolEnum   : bool   { TestBool   = false }
enum CharEnum   : char   { TestChar   = 'A' }
enum StringEnum : string { TestString = "Hello" }

pragma(msg, isBoolean!BoolEnum);       // true
pragma(msg, isSomeChar!CharEnum);      // true
pragma(msg, isSomeString!StringEnum);  // false

Why does isSomeString not return true for an enum with base type string while other isX functions return true for enums with an according base type X? Regarding whether enums should be considered by these functions, I can see the case being made one of both ways (personally, I'd say they should), but in the
example above it seems that different rules are applied.

Reply via email to