On Thursday, 31 March 2016 at 13:48:27 UTC, Adam D. Ruppe wrote:
It is trying to look up a name i in global scope, and calling
writeln on it.
This is why the .name syntax exists: so you can bypass local
variables with the same name when trying to access a global.
It would compile if you put an `int i;` at the top of your
module... try it!
Thanks, that makes sense! I had forgotten the global dot syntax.
That seems like a somewhat sketchy syntax given how little one
would use it, wouldn't something like:
writeln(i).global;
be much clearer for globals?