1// PR c++/48115
2
3template<typename> struct templ { };
4
5template<typename T> T declval();
6
7typedef int (*F2)(...);
8
9template<int> struct Int { };
10
11template<typename F, typename T>
12struct S
13{
14    template<typename A>
15        Int<sizeof( declval<F>()(T()) )>
16        f(A);
17};
18
19int main()
20{
21    S<F2, templ<int> >().f(0);
22}
23