This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 110b. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2023-01-15


541. Dependent function types

Section: 13.8.3.3  [temp.dep.expr]     Status: CD2     Submitter: Daveed Vandevoorde     Date: 22 October 2005

[Voted into WP at March, 2010 meeting.]

13.8.3.3 [temp.dep.expr] paragraph 3 says,

An id-expression is type-dependent if it contains:

This treatment seems inadequate with regard to id-expressions in function calls:

  1. According to 13.8.3.2 [temp.dep.type] paragraph 6,

    A type is dependent if it is
    • ...
    • a compound type constructed from any dependent type...

    This would apply to the type of a member function of a class template if any of its parameters are dependent, even if the return type is not dependent. However, there is no need for a call to such a function to be a type-dependent expression because the type of the expression is known at definition time.

  2. This wording does not handle the case of overloaded functions, some of which might have dependent types (however defined) and others not.

Notes from the October, 2009 meeting:

The consensus of the CWG was that the first point of the issue is not sufficiently problematic as to require a change.

Proposed resolution (October, 2009):

Change 13.8.3.3 [temp.dep.expr] paragraph 3 as follows:

An id-expression is type-dependent if it contains: