https://issues.dlang.org/show_bug.cgi?id=18712
Walter Bright <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Component|dmd |dlang.org Resolution|WONTFIX |--- Severity|regression |normal --- Comment #6 from Walter Bright <[email protected]> --- (In reply to Rainer Schuetze from comment #5) > Thanks for analyzing. I wouldn't be too concerned about possible breakage > with a fix, because it's a regression (and a very recent if you compiled the > code with -d). It's not really a regression. The weirdness with the scope was always there, it's just that nobody noticed it. When it was implemented, I'm sure nobody thought about this behavior. > It seems adding the implicit scope block in the parser is too early, as it > doesn't know about mixins. OTOH it could be clarified in the spec that > 'case' in mixins do not share the scope with trailing code. A spec clarification is indeed in order: https://github.com/dlang/dlang.org/pull/2368 Reopening as a spec issue. It is more than just mixins, as the other example I posted here shows. I investigated not adding the scope in the parser, but in the semantic() phase. That just introduces even more subtle issues. --
