gcc accepts this snippet, while clang and MSVC reject it.

https://godbolt.org/z/cfzaK3

My questions:

1. Which compiler is correct?

2. Morally, is this difference in behaviour between regular and alias templates intended?