#include struct Point { int x; char y; }; enum(Point) PointEnum { first={ 100, 'c' }, second={ 200, 'a' } }; PointEnum foo(PointEnum in) { return in; } // The only valid usage struct Point apple = first; // Failed due to Qualified name is currently unimplemented. int main() { PointEnum vals = second; PointEnum val2; // The failing line: assignment // val2 = vals; printf("%d %c\n", apple.x, apple.y); // Failed; enumInstType is now not a real type and not instantiated. // Not sure if we want that // printf("%d %c\n", second.x, second.y); return 0; }