January 26, 2014 [dmd-internals] [D-Programming-Language/dmd] 806192: Issue 11503 - immutable return value from pure fun... | ||||
---|---|---|---|---|
| ||||
Attachments:
| Branch: refs/heads/master Home: https://github.com/D-Programming-Language/dmd Commit: 80619240a71ea68c7d4733f5010263b8a04a46de https://github.com/D-Programming-Language/dmd/commit/80619240a71ea68c7d4733f5010263b8a04a46de Author: David Nadlinger <code@klickverbot.at> Date: 2014-01-25 (Sat, 25 Jan 2014) Changed paths: M src/cast.c A test/fail_compilation/fail11503a.d A test/fail_compilation/fail11503b.d Log Message: ----------- Issue 11503 - immutable return value from pure function implicitly converts to mutable. Commit: 4bfca0385a442bc713e9ad9087cfd308f12d2cba https://github.com/D-Programming-Language/dmd/commit/4bfca0385a442bc713e9ad9087cfd308f12d2cba Author: David Nadlinger <code@klickverbot.at> Date: 2014-01-25 (Sat, 25 Jan 2014) Changed paths: M src/cast.c M src/expression.h Log Message: ----------- Remove CallExp::implicitCastTo altogether. The pure -> immutable case is checked in implicitConvTo as well, and since it yields MATCHexact, the castTo() in Expression::implicitCastTo is a no-op anyway. Commit: fa6898c3feb1c500085d73df716b9a1ce9e4afa1 https://github.com/D-Programming-Language/dmd/commit/fa6898c3feb1c500085d73df716b9a1ce9e4afa1 Author: David Nadlinger <code@klickverbot.at> Date: 2014-01-25 (Sat, 25 Jan 2014) Changed paths: M src/func.c A test/fail_compilation/fail11503c.d A test/fail_compilation/fail11503d.d Log Message: ----------- Issue 11909 - Struct members and static arrays break pure function escape analysis (immutability violation). Commit: 8160871629cb7b3c5261a9048a49cd6261ca433b https://github.com/D-Programming-Language/dmd/commit/8160871629cb7b3c5261a9048a49cd6261ca433b Author: David Nadlinger <code@klickverbot.at> Date: 2014-01-25 (Sat, 25 Jan 2014) Changed paths: M src/func.c Log Message: ----------- Clarify traverseIndirections implementation. No functional change intended. Commit: 855e03a3d6aba6c45eb46f6e99f5131f980b8a5c https://github.com/D-Programming-Language/dmd/commit/855e03a3d6aba6c45eb46f6e99f5131f980b8a5c Author: David Nadlinger <code@klickverbot.at> Date: 2014-01-25 (Sat, 25 Jan 2014) Changed paths: M src/func.c Log Message: ----------- Make traverseIndirections() return bool instead of int. Commit: 01ca07b0934c3e717e8a8e92cca0a7e6d05f18ee https://github.com/D-Programming-Language/dmd/commit/01ca07b0934c3e717e8a8e92cca0a7e6d05f18ee Author: Martin Nowak <code@dawg.eu> Date: 2014-01-26 (Sun, 26 Jan 2014) Changed paths: M src/cast.c M src/expression.h M src/func.c A test/fail_compilation/fail11503a.d A test/fail_compilation/fail11503b.d A test/fail_compilation/fail11503c.d A test/fail_compilation/fail11503d.d Log Message: ----------- Merge pull request #3085 from klickverbot/pure-return-immutable pure -> immutable fixes Compare: https://github.com/D-Programming-Language/dmd/compare/5763f781664e...01ca07b0934c |
Copyright © 1999-2021 by the D Language Foundation