[dmd-internals] [D-Programming-Language/dmd] ac8979: fix Issue 9650 - __traits(compiles) + mixin
GitHub
noreply at github.com
Sat Mar 23 12:19:54 PDT 2013
Branch: refs/heads/master
Home: https://github.com/D-Programming-Language/dmd
Commit: ac89791f2a4c54cb255ee7e802fde74643b12412
https://github.com/D-Programming-Language/dmd/commit/ac89791f2a4c54cb255ee7e802fde74643b12412
Author: k-hara <k.hara.pg at gmail.com>
Date: 2013-03-08 (Fri, 08 Mar 2013)
Changed paths:
M src/expression.c
Log Message:
-----------
fix Issue 9650 - __traits(compiles) + mixin
I couldn't minimize test case, but the bug fix is obvious.
The bug had been hiding for a long time, but recent Phobos change (https://github.com/D-Programming-Language/phobos/commit/2a88fea7867f33fd1cf15c2dca7790a3c8aea474) had exposed the bug.
When a mixin expression gets invalid code string, the parsing error had not handled correctly. In such case, it had generated *invalid* AST instead of returning ErrorExp. I guess that the invalid AST would report weird error in later semantic analysis.
I think that both CompileDeclaration and CompileStatement do not have same problem. So they are not changed.
Commit: 618d8277aaf20c9f8d8eebc39289e3d2a1c63d42
https://github.com/D-Programming-Language/dmd/commit/618d8277aaf20c9f8d8eebc39289e3d2a1c63d42
Author: Walter Bright <walter at walterbright.com>
Date: 2013-03-23 (Sat, 23 Mar 2013)
Changed paths:
M src/expression.c
Log Message:
-----------
Merge pull request #1728 from 9rnsr/fix9650
Issue 9650 - __traits(compiles) + mixin
Compare: https://github.com/D-Programming-Language/dmd/compare/8f9fe3ba2dbe...618d8277aaf2
More information about the dmd-internals
mailing list