[Issue 15681] [REG2.067] Nested user type enum not retaining value properly.
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Tue Feb 23 03:02:10 PST 2016
https://issues.dlang.org/show_bug.cgi?id=15681
--- Comment #5 from github-bugzilla at puremagic.com ---
Commits pushed to stable at https://github.com/D-Programming-Language/dmd
https://github.com/D-Programming-Language/dmd/commit/1d13794bc84a6af0d13f84a16baf6f881109668e
fix Issue 15681 - Nested user type enum not retaining value properly
1. It was a bug in `createBlockDuplicatedArrayLiteral` function. On array
literal construction, the element should be copied when the type has value
semantics and the CTFE value has sub payload.
2. Also the `createBlockDuplicatedArrayLiteral` callers need to handle the
`elem` argument ownership well.
2a. In `copyLiteral`, it didn't copy the source struct element on block
assignment. 2b. In `recursivelyCreateArrayLiteral`, the
`elemType.defaultInitLiteral(loc)` is not yet CTFE-ed expression. So it should
be interpreted to copy it into CTFE world.
https://github.com/D-Programming-Language/dmd/commit/21c35b077388429de36f6f8d63063d4a6a35facd
Merge pull request #5462 from 9rnsr/fix15681
[REG2.067] Issue 15681 - Nested user type enum not retaining value properly
--
More information about the Digitalmars-d-bugs
mailing list