http://d.puremagic.com/issues/show_bug.cgi?id=10586
--- Comment #2 from Don <clugd...@yahoo.com.au> 2013-07-10 02:54:12 PDT --- Further reduced shows I'm wrong about it being enums: ------------ template FooParams(size_t K) { alias int X; } struct foo { static const int SIZE = int.sizeof; alias FooParams!(SIZE).X Y; } ----------- bug.d(6): Error: Cannot interpret int at compile time bug.d(7): while evaluating SIZE.init bug.d(7): while looking for match for FooParams!(4) --- A very difficult related case is this one: const int Z = baz(3); const int W = baz(2); int baz(int k) { if (k == 3) return W; return 6; } static assert(Z == 6); because it means that baz cannot be JIT-compiled. Arguably this is a circular reference. It would be much simpler and would give better performance if we disallowed pseudo-circular refs. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------