[dmd-internals] [D-Programming-Language/dmd] 806192: Issue 11503 - immutable return value from pure fun...

GitHub noreply at github.com
Sun Jan 26 11:46:58 PST 2014


  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 at 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 at 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 at 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 at 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 at 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 at 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


More information about the dmd-internals mailing list