[dmd-internals] [D-Programming-Language/dmd] 922d79: fix Issue 14781 - impure delegate to pure function...

GitHub via dmd-internals dmd-internals at puremagic.com
Sun Aug 30 08:16:46 PDT 2015


  Branch: refs/heads/stable
  Home:   https://github.com/D-Programming-Language/dmd
  Commit: 922d79a43ff60ed324e32e2f4be1430de209746f
      https://github.com/D-Programming-Language/dmd/commit/922d79a43ff60ed324e32e2f4be1430de209746f
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2015-08-29 (Sat, 29 Aug 2015)

  Changed paths:
    M src/declaration.c
    M src/expression.c
    A test/compilable/ice12554.d
    A test/compilable/test14781.d
    R test/fail_compilation/fail9148.d
    R test/fail_compilation/ice12554.d

  Log Message:
  -----------
  fix Issue 14781 - impure delegate to pure function context should be able to modify context


  Commit: 0c9f5a272bf47e1ad81d2a8a4c56adfd3461fde7
      https://github.com/D-Programming-Language/dmd/commit/0c9f5a272bf47e1ad81d2a8a4c56adfd3461fde7
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2015-08-29 (Sat, 29 Aug 2015)

  Changed paths:
    A test/compilable/test14962.d

  Log Message:
  -----------
  fix Issue 14962 - compiler inference of attributes for nested map seems broken

It has been revealed since the commit/PR:

f22d9dbb42b6a32d5b4c7c9f3db45e07c9f8aaf6
https://github.com/D-Programming-Language/dmd/pull/4464

By the fix, some attribute inference order bug for template functions had
been fixed - when foo() calls bar!(), and bar!() calls baz!(), the bar!()
attribute should be inferred after the attrs of baz!() determined.

And then, compiler infers the purity of nested two lambdas in the 14962
test case, and the case has been rejected by the 14781 behavior.


  Commit: b30556bf2ce1b4e49fdba51ea759725c2fc6e48f
      https://github.com/D-Programming-Language/dmd/commit/b30556bf2ce1b4e49fdba51ea759725c2fc6e48f
  Author: Martin Nowak <code at dawg.eu>
  Date:   2015-08-30 (Sun, 30 Aug 2015)

  Changed paths:
    M src/declaration.c
    M src/expression.c
    A test/compilable/ice12554.d
    A test/compilable/test14781.d
    A test/compilable/test14962.d
    R test/fail_compilation/fail9148.d
    R test/fail_compilation/ice12554.d

  Log Message:
  -----------
  Merge pull request #4970 from 9rnsr/fix14781

[REG2.067/2.068] Issue 14781 & 14962 - fix problematic purity inference introduced in #3626


Compare: https://github.com/D-Programming-Language/dmd/compare/d99699301eb0...b30556bf2ce1


More information about the dmd-internals mailing list