* decl.c (make_typename_type): s/parameters/arguments/.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / defaulted50.C
blobfea453740e0bee151089a5e46c477cc3e575a55c
1 // PR c++/69005
2 // { dg-do compile { target c++11 } }
4 template<typename T> T& declval();
6 template<typename _Sig> class function;
8 template<typename _Res, typename _Arg>
9 struct function<_Res(_Arg)>
11   function() noexcept { }
13   function(const function&) { }
15   template<typename _Functor,
16            typename = decltype(declval<_Functor&>()(declval<_Arg>()))>
17   function(_Functor) { }
19   _Res operator()(_Arg) const;
22 struct Foo {
23   function<void(Foo)> Func;
26 extern Foo exfoo;
27 Foo f (exfoo);