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

--- Comment #6 from jim x <xmh970252187 at gmail dot com> ---
struct A{
    struct Name{};
    void Name(){}
};
struct B:A{
    using A::Name;  //#1
};
int main() {
   struct B::Name d;
}

According to [basic.lookup#general-4], the lookup set occurs at `#1` would
discard the declaration of class "Name" since there is another declaration be
found. [namespace.udecl#1] just requires these type declarations are ignored
when checking for ambiguity but are not actually ignored in the the set of
declarations.

Reply via email to