1 // PR c++/57222
2 // { dg-require-effective-target c++11 }
3 
4 template <template <typename T> class Templ>
5 using Bool = Templ<bool>;
6 
7 template <typename T>
8 class Foo {
9 private:
10 public:
11     template<template<typename U> class Templ>
12     void method(Bool<Templ> boolTempl);
13 };
14 
15 template <typename T>
16 template <template <typename U> class Templ>
method(Bool<Templ> boolTempl)17 void Foo<T>::method(Bool<Templ> boolTempl) {
18 }
19 
main()20 int main() {
21     Foo<char> foo;
22     return 0;
23 }
24