http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56323
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |rejects-valid Status|UNCONFIRMED |NEW Last reconfirmed| |2013-02-14 CC| |jason at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2013-02-14 14:42:20 UTC --- I think [class.qual]/2 says both C and D are valid. C is valid because it is a using-declaration that is a member-declaration and the name specified after the nested-name-specifier is the same as the identifier in the last component of the nested-name-specifier. D is valid because the name specified after the nested-name-specifier is the injected-class-name of A. In both cases the using-declaration names the constructor, so it declares a set of inheriting constructors.