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