https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102156

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
                 CC|                            |jason at gcc dot gnu.org
             Status|NEW                         |RESOLVED

--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> ---
Why do you think that DR147 doesn't apply to this testcase?  We see B::B<, look
up B in B, and DR147 says we find the constructor.

The rule mentioned in PR11764, that lookup in a nested-name-specifier only
considers types and namespaces, doesn't apply here because the name B isn't
followed directly by ::.  The current draft even has an example to illustrate
this:

template<int> struct B : A {};
namespace N {
  template<int> void B();
  int f() {
    return B<0>::n;     // error: N​::​B<0> is not a type
  }
}

EDG also rejects this testcase.

Reply via email to