summaryrefslogtreecommitdiff
path: root/test/SemaTemplate/member-function-template.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaTemplate/member-function-template.cpp')
-rw-r--r--test/SemaTemplate/member-function-template.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/SemaTemplate/member-function-template.cpp b/test/SemaTemplate/member-function-template.cpp
index aea62855c225..44954ed881ab 100644
--- a/test/SemaTemplate/member-function-template.cpp
+++ b/test/SemaTemplate/member-function-template.cpp
@@ -85,3 +85,19 @@ namespace TTP {
void test_f(X<3> x, Y<int> y) { x.f(y); }
}
+
+namespace PR7387 {
+ template <typename T> struct X {};
+
+ template <typename T1> struct S {
+ template <template <typename> class TC> void foo(const TC<T1>& arg);
+ };
+
+ template <typename T1> template <template <typename> class TC>
+ void S<T1>::foo(const TC<T1>& arg) {}
+
+ void test(const X<int>& x) {
+ S<int> s;
+ s.foo(x);
+ }
+}