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