January 31, 2013 [dmd-internals] [D-Programming-Language/dmd] 163724: fix Issue 9258 - opAssign with base class triggers... | ||||
---|---|---|---|---|
| ||||
Attachments:
| Branch: refs/heads/master Home: https://github.com/D-Programming-Language/dmd Commit: 1637248da9f358d6eb10f41e78c8268acbc4492a https://github.com/D-Programming-Language/dmd/commit/1637248da9f358d6eb10f41e78c8268acbc4492a Author: k-hara <k.hara.pg@gmail.com> Date: 2013-01-30 (Wed, 30 Jan 2013) Changed paths: M src/aggregate.h M src/class.c M src/clone.c M test/runnable/assignable.d Log Message: ----------- fix Issue 9258 - opAssign with base class triggers "identity assignment operator overload" error Commit: ca03c609211952f9640d38531dd4f282cedc22ac https://github.com/D-Programming-Language/dmd/commit/ca03c609211952f9640d38531dd4f282cedc22ac Author: k-hara <k.hara.pg@gmail.com> Date: 2013-01-30 (Wed, 30 Jan 2013) Changed paths: M src/clone.c M test/runnable/assignable.d Log Message: ----------- fix Issue 9416 - [REG][2.060 -> 02.061] DMD eagerly instantiates template parameter-less opAssign Commit: 6398c58f36c698dd6ae29217729e4a80f9869998 https://github.com/D-Programming-Language/dmd/commit/6398c58f36c698dd6ae29217729e4a80f9869998 Author: k-hara <k.hara.pg@gmail.com> Date: 2013-01-30 (Wed, 30 Jan 2013) Changed paths: M src/clone.c M src/expression.c M src/mtype.c M src/mtype.h M src/opover.c M test/runnable/assignable.d Log Message: ----------- fix Issue 9404 - Nullable is unusable with 2.061 Now, user-defined but non identity opAssign is just ignored in identity assignment resolving. For the identity assignment operation, following four operations might be defined by the compiler. 1. If a user-defined identity `opAssign` is defined, it is used. 2. If the struct has postbit constructor, "copy & swap" operation is used. 3. If member-wise assignment is necessary, it is used. 4. Otherwise, assignment possibility is calculated from bitwise assignable of whole members. As a conclusion, except for the case where the members have disabled opAssign, identity assignment will succeed in almost cases. Commit: 3bd7ca63feb9e997d10d1095ddc7cf09ca2c6c41 https://github.com/D-Programming-Language/dmd/commit/3bd7ca63feb9e997d10d1095ddc7cf09ca2c6c41 Author: k-hara <k.hara.pg@gmail.com> Date: 2013-01-30 (Wed, 30 Jan 2013) Changed paths: M src/clone.c Log Message: ----------- Clean up code for the __xopEquals generation Use same way with the built-in opAssign generation. Commit: aa33955a6ed38ab64df903b2298988f9cde42914 https://github.com/D-Programming-Language/dmd/commit/aa33955a6ed38ab64df903b2298988f9cde42914 Author: k-hara <k.hara.pg@gmail.com> Date: 2013-01-30 (Wed, 30 Jan 2013) Changed paths: M test/runnable/assignable.d Log Message: ----------- Clean up test cases for issue 6174 Merged similar tests by making them parameterize. Commit: b94fd3b7d2164ef1fc924265d4c5d04c7c673463 https://github.com/D-Programming-Language/dmd/commit/b94fd3b7d2164ef1fc924265d4c5d04c7c673463 Author: Walter Bright <walter@walterbright.com> Date: 2013-01-31 (Thu, 31 Jan 2013) Changed paths: M src/aggregate.h M src/class.c M src/clone.c M src/expression.c M src/mtype.c M src/mtype.h M src/opover.c M test/runnable/assignable.d Log Message: ----------- Merge pull request #1585 from 9rnsr/fix_assign Issue 9258 & 9404 & 9416 - fix regressions around opAssign Compare: https://github.com/D-Programming-Language/dmd/compare/d617999ef0b3...b94fd3b7d216 |
Copyright © 1999-2021 by the D Language Foundation