[dmd-internals] [D-Programming-Language/dmd] 3a5c42: fix Issue 13860 - template required forward refere...

GitHub via dmd-internals dmd-internals at puremagic.com
Tue Jan 20 05:08:27 PST 2015


  Branch: refs/heads/master
  Home:   https://github.com/D-Programming-Language/dmd
  Commit: 3a5c42c44da72d4a2afbc6029e7b68da87946955
      https://github.com/D-Programming-Language/dmd/commit/3a5c42c44da72d4a2afbc6029e7b68da87946955
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2015-01-20 (Tue, 20 Jan 2015)

  Changed paths:
    M src/declaration.c
    A test/compilable/fwdref13860.d
    M test/fail_compilation/ice12350.d
    M test/fail_compilation/ice12362.d
    M test/fail_compilation/ice13225.d

  Log Message:
  -----------
  fix Issue 13860 - template required forward reference for typeof(member)

In a struct member function S.foo, 'this' is declared as a ref variable by `declareThis()` in `FuncDeclaration::semantic3()`.
But in `VarDeclaration::semantic`, `type->hasPointer()` will needlessly try to resolve struct fwdref.

All parameter variables won't be declared with void initializer, so the reordering fixes the issue.


  Commit: 661f23ddde5d759fd5367f45f89803b79ab8e32c
      https://github.com/D-Programming-Language/dmd/commit/661f23ddde5d759fd5367f45f89803b79ab8e32c
  Author: Daniel Murphy <yebblies at gmail.com>
  Date:   2015-01-21 (Wed, 21 Jan 2015)

  Changed paths:
    M src/declaration.c
    A test/compilable/fwdref13860.d
    M test/fail_compilation/ice12350.d
    M test/fail_compilation/ice12362.d
    M test/fail_compilation/ice13225.d

  Log Message:
  -----------
  Merge pull request #4316 from 9rnsr/fix13860

Issue 13860 - template required forward reference for typeof(member)


Compare: https://github.com/D-Programming-Language/dmd/compare/5085b5d9f844...661f23ddde5d


More information about the dmd-internals mailing list