1// { dg-do assemble  }
2// GROUPS passed templates
3template <class T>
4void foo(T t);
5
6template <class T>
7struct S {};
8
9template <class T>
10void bar(T t)
11{
12  void (*f)(S<T> ) = &foo<S<T> >;
13}
14
15
16void baz()
17{
18  bar(3);
19}
20