Date
2020-11-15.00:00:00
Message id
6342

Content

[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?