Consider the following code:
class A {};
class B {
using A = A;
};
With Clang and ICC this compiles fine, while GCC fails with the following message:
error: declaration of ‘using A = class A’ changes meaning of ‘A’ [-fpermissive]
4 | using A = A;
| ^
Question: Which compiler is correct and why?