NoScopeStatement violates C compatibility principal.
monarch_dodra
monarchdodra at gmail.com
Tue May 28 10:54:31 PDT 2013
On Tuesday, 28 May 2013 at 16:38:50 UTC, Kenji Hara wrote:
> I think this is a corner case bug of current dmd parser.
>
> Kenji Hara
It's not a corner case. It's the spec.
It's a "LabeledStatement" : "NoScopeStatement"
http://dlang.org/statement.html#LabeledStatement
I was finally able to track down the original bug report, from
really long ago:
"Label causes scope to collapse into parent"
http://d.puremagic.com/issues/show_bug.cgi?id=199
It was closed as "won't fix" by Walter:
http://d.puremagic.com/issues/show_bug.cgi?id=199#c6
> Walter Bright 2008-06-23 17:00:19 PDT
>
> Since the compiler is behaving according to spec, I don't want
> to change this because it could break existing code, and there
> doesn't seem to be a compelling reason to do so.
> Walter Bright 2008-06-23 17:29:31 PDT
>
> The test case behaves as expected, because labels do not
> introduce a new scope when followed by { }.
I hope I just provided a compelling reason why this is bad
behavior. And I don't think we'd break anything)
More information about the Digitalmars-d
mailing list