================ @@ -0,0 +1,10 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +// regression test for https://github.com/llvm/llvm-project/issues/201490 +template<class T> struct A {}; +template<class T> struct B : A<T> {}; +template<> template<class T> class A<int>::B {}; // expected-error{{out-of-line definition of 'B' does not match any declaration in 'A<int>'}} + +// A legitimate member class template explicit specialization +template<class T> struct C { template<class U> struct D; }; + template<> template<class U> struct C<int>::D {}; ---------------- zyn0217 wrote:
Also simply testing the invalid case is enough, I'd remove the 'legitimate' one. https://github.com/llvm/llvm-project/pull/201506 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
