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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
This is the correct behaviour required by the standard.

std::pair is not a type, so you cannot say "using std::pair::pair"

In a non-template you can say "using pair::pair" which finds the injected class
name from the base class.

In a template when std::pair<A,B> is a dependent base class the injected class
name is not visible because name lookup does not consider dependent base
classes, so you cannot say "using pair::pair"

Reply via email to