namespace X
{
    struct A {};
}

namespace Y
{
    struct A {};
}

using namespace X;
using namespace Y;

int main()
{
    // A a; is ambiguous, so it's illegal
    X::A x;
    Y::A y;
}