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

2024-12-19


2396. Lookup of names in complex conversion-type-ids

Section: 7.5.5.3  [expr.prim.id.qual]     Status: CD6     Submitter: Richard Smith     Date: 2018-12-03

[Accepted at the November, 2020 meeting as part of paper P1787R6 and moved to DR at the February, 2021 meeting.]

Issue 2385 assumed a simple case where a conversion-type-id is an identifier. More complex cases need to be addressed as well. For example:

  struct A {
    struct B;
    operator B B::*();
  };
  struct B;
  void f(A a) { a.operator B B::*(); }            // first B is A::B. what is second B? 
  void g(A a) { a.operator decltype(B()) B::*();} // what about the operand of decltype? 
  void h(A a) { a.operator X<B>(); }              // what is B here?