// { dg-do compile } | |
// Origin: Wolfgang Bangerth <bangerth@dealii.org> | |
// PR c++/15664: Template substitution of template template parameter | |
template <int N> struct S { | |
template<template<typename> class A> | |
friend void foo(); | |
}; | |
template<template<typename> class A> | |
void foo(); | |
template <typename> struct X {}; | |
int main () { | |
S<1> s; | |
foo<X>(); | |
} |