Could someone please explain why there is a difference in values
between compile-time and run-time?
struct T
{
int i;
this(int a) {i=a;}
}
enum TENUM : T
{
foo = T(2),
bar = T(3),
}
void main()
{
pragma(msg, TENUM.foo); // T(2)
pragma(msg, TENUM.bar); // T(3)
writeln(TENUM.foo); // foo
writeln(TENUM.bar); // bar
}