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


2143. Value-dependency via injected-class-name

Section: 13.8.3.2  [temp.dep.type]     Status: C++17     Submitter: Maxim Kartashev     Date: 2015-06-16

[Moved to DR at the November, 2016 meeting.]

There does not appear to be a rule that causes p or this to be dependent in the following example:

  template <typename T> struct A {
     void foo() {
        A* p = 0;
        bar(p);    // will be found by ADL at the point of instantiation
        bar(this); // same here
     }
  };

  void bar(...);

  int main() {
     A<int> a;
     a.foo();
  }

Proposed resolution (February, 2016) [SUPERSEDED]:

Change 13.8.3.2 [temp.dep.type] bullet 9.7 as follows:

A type is dependent if it is

Proposed resolution (March, 2016):

Change 13.8.3.2 [temp.dep.type] bullet 9.7 as follows:

A type is dependent if it is