[dmd-internals] [D-Programming-Language/dmd] 74f85b: Allow heterogeneous overload list of templates and...

GitHub noreply at github.com
Fri Jun 28 12:17:40 PDT 2013


  Branch: refs/heads/master
  Home:   https://github.com/D-Programming-Language/dmd
  Commit: 74f85b5f374ab31afe1242e71b17b9f703bee077
      https://github.com/D-Programming-Language/dmd/commit/74f85b5f374ab31afe1242e71b17b9f703bee077
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-06-27 (Thu, 27 Jun 2013)

  Changed paths:
    M src/declaration.h
    M src/expression.c
    M src/func.c
    M src/template.c
    M src/template.h

  Log Message:
  -----------
  Allow heterogeneous overload list of templates and functions

Overloaded functions are collected on the head side of list, and templates are on the other side.

Taking the root of heterogeneous list in DotTemplateInstanceExp::semantic.


  Commit: edd0f6fbeeff70eccd7d2e15429b20418360eca5
      https://github.com/D-Programming-Language/dmd/commit/edd0f6fbeeff70eccd7d2e15429b20418360eca5
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-06-27 (Thu, 27 Jun 2013)

  Changed paths:
    M src/declaration.h
    M src/expression.c
    M src/func.c
    M src/opover.c
    M src/template.c
    M src/template.h
    M test/fail_compilation/test8556.d
    A test/runnable/imports/ovs1528a.d
    A test/runnable/imports/ovs1528b.d
    M test/runnable/overload.d
    M test/runnable/template9.d

  Log Message:
  -----------
  fix Issue 1528 - [tdpl] overloading template and non-template functions

- Improve `resolveFuncCall` for integrated function call resolution.
  All of error reporting is done in here.

- Remove `overloadResolve` and `deduceFuncitonTemplate`
  The works was in `overloadResolve` are moved to `resolveFuncCall`,
  and things was in `deduceFuncitonTemplate` are divided to
  `templateResolve` and `resolveFuncCall`.

- Change the name from `overloadResolveX` to `functionResolve`
  It is paired with `templateResolve`.

- Decide 'most specialized' function based on the two `MATCH` values derived from `tiargs` and `fargs`.
  With non template functions, `last matching level for tiargs` is treated as `MATCHexact`.

----
The bug that is fixed at the same time:
fix Issue 9596 - Ambiguous match is incorrectly hidden by additional lesser match

  The change in test/runnable/template9.d is related.


  Commit: 5b26ea3730cb191517ea06209ab19054e59890c3
      https://github.com/D-Programming-Language/dmd/commit/5b26ea3730cb191517ea06209ab19054e59890c3
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-06-27 (Thu, 27 Jun 2013)

  Changed paths:
    M test/runnable/overload.d

  Log Message:
  -----------
  Add test cases from bugzilla discussion


  Commit: fba440cc7dc1210b0450f8b01d18661ebbd0da55
      https://github.com/D-Programming-Language/dmd/commit/fba440cc7dc1210b0450f8b01d18661ebbd0da55
  Author: Martin Nowak <code at dawg.eu>
  Date:   2013-06-28 (Fri, 28 Jun 2013)

  Changed paths:
    M src/declaration.h
    M src/expression.c
    M src/func.c
    M src/opover.c
    M src/template.c
    M src/template.h
    M test/fail_compilation/test8556.d
    A test/runnable/imports/ovs1528a.d
    A test/runnable/imports/ovs1528b.d
    M test/runnable/overload.d
    M test/runnable/template9.d

  Log Message:
  -----------
  Merge pull request #1409 from 9rnsr/fix1528

Issue 1528 - [tdpl] overloading template and non-template functions


Compare: https://github.com/D-Programming-Language/dmd/compare/ce270e41aa18...fba440cc7dc1


More information about the dmd-internals mailing list