On Saturday, 3 September 2016 at 14:06:06 UTC, Igor wrote:
Can anyone explain in plain English how does compiler process and detect a "test.d(6) Error: forward reference of variable a" in following code:import std.stdio; enum a = 1 + b; enum d = 5 + a; // No error here enum b = 12 + c; enum c = 10 + a; // error here void main() { writeln("Hello World!", b); }
This is an recursive expression. c = 10 + 1 + 12 + c ... and therefore cannot be compiled.