1 // { dg-do compile } 2 3 // Origin: Wolfgang Bangerth <bangerth@dealii.org> 4 5 // PR c++/15664: Template substitution of template template parameter 6 7 template <int N> struct S { 8 template<template<typename> class A> 9 friend void foo(); 10 }; 11 12 template<template<typename> class A> 13 void foo(); 14 15 template <typename> struct X {}; 16 main()17int main () { 18 S<1> s; 19 foo<X>(); 20 } 21