On 12/14/2013 08:45 PM, Walter Bright wrote:
dmd's forward reference issues come from a bad design choice in the compiler implementation. I've been gradually fixing the design, and things have gotten a lot better. For example, with the latest release you can forward reference enum members, even in the same enum definition!
Broke it. string bb(int x, string y){ return "3"; } enum E { foo = bb(cast(int)bar, cast(string)baz), bar=1, baz="2" } Bring it on! :o) https://d.puremagic.com/issues/show_bug.cgi?id=11746