1 template<int N> struct S { }; 2 3 template<template<typename> class TT> 4 void foo(); 5 bar()6void bar() 7 { 8 foo<S>(); // { dg-error "no matching function" } 9 // { dg-error "type/value mismatch at argument 1" "" { target *-*-* } .-1 } 10 // { dg-message "expected a template of type .template<class> class TT., got .template<int N> struct S." "" { target *-*-* } .-2 } 11 } 12