https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32039
Ville Voutilainen <ville.voutilainen at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED CC| |ville.voutilainen at gmail dot com Resolution|--- |INVALID --- Comment #7 from Ville Voutilainen <ville.voutilainen at gmail dot com> --- This is invalid. [namespace.udecl]/3 says that if the declaration names a constructor, the nested-name-specifier shall name a direct base, but if the declaration names something else than a constructor, indirect bases are fine. The name is looked up by member name lookup, which will look in A first, and the hiding in B does not matter. Clang agrees with this interpretation.