1 // PR c++/51908
2 // { dg-do compile { target c++11 } }
3 
4 struct foo1
5 {
6   template <typename Ret, typename... Args>
7   operator decltype(static_cast<Ret (*)(Args...)>(nullptr)) () const;
8 };
9 
10 struct foo2
11 {
12   template <typename Ret, typename... Args>
13   operator decltype(static_cast<Ret (*)(Args... args)>(nullptr)) () const;
14 };
15 
16 struct foo3
17 {
18   template <typename Ret, typename Arg>
19   operator decltype(static_cast<Ret (*)(Arg)>(nullptr)) () const;
20 };
21 
22 struct foo4
23 {
24   template <typename Ret, typename Arg>
25   operator decltype(static_cast<Ret (*)(Arg arg)>(nullptr)) () const;
26 };
27