Uma declaração de uso não pode ser repetida no escopo da função. Por que é que?

No [namespace.udecl] / 10, você tem o seguinte exemplo:

namespace A {
    int i;
}
namespace A1 {
    using A::i;
    using A::i; // OK: double declaration
}
void f() {
    using A::i;
    using A::i; // error: double declaration
}

Esse trecho é compilado no clang.

questionAnswers(1)

yourAnswerToTheQuestion