Skip to content

Commit 4cebe5a

Browse files
committed
[clang] NFC: add test for cwg2398 ambiguity issue
1 parent 8ce2045 commit 4cebe5a

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

clang/test/SemaTemplate/cwg2398.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,21 @@ namespace templ {
5959
template struct C<B<int>>;
6060
} // namespace templ
6161

62+
namespace class_template {
63+
template <class T1, class T2 = float> struct A;
64+
65+
template <class T3> struct B;
66+
67+
template <template <class T4> class TT1, class T5> struct B<TT1<T5>>;
68+
// new-note@-1 {{partial specialization matches}}
69+
70+
template <class T6, class T7> struct B<A<T6, T7>> {};
71+
// new-note@-1 {{partial specialization matches}}
72+
73+
template struct B<A<int>>;
74+
// new-error@-1 {{ambiguous partial specialization}}
75+
} // namespace class_template
76+
6277
namespace type_pack1 {
6378
template<class T2> struct A;
6479
template<template<class ...T3s> class TT1, class T4> struct A<TT1<T4>> ;

0 commit comments

Comments
 (0)