@@ -49,26 +49,31 @@ class issue_857_4 {
4949pure2-last-use.cpp2:905:1: note: still within definition of 'issue_857_4' here
5050namespace captures {
5151^
52- pure2-last-use.cpp2:279:272: error: no member named 'move_only_function' in namespace 'std'
53- requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> in_)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> in_)>>&>)
54- ~~~~~^
55- pure2-last-use.cpp2:279:299: error: expected expression
56- requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> in_)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> in_)>>&>)
57- ^
58- pure2-last-use.cpp2:279:304: error: use of address-of-label extension outside of a function body
59- requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> in_)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> in_)>>&>)
60- ^
61- pure2-last-use.cpp2:278:14: error: out-of-line definition of 'issue_857_4' does not match any declaration in 'issue_857_4'
62- issue_857_4::issue_857_4(auto&& f_, auto&& g_, auto&& mf_, auto&& mg_)
63- ^~~~~~~~~~~
64- pure2-last-use.cpp2:281:272: error: member initializer 'g' does not name a non-static data member or base class
65- , g{ CPP2_FORWARD(g_) }
66- ^~~~~~~~~~~~~~~~~~~~~
67- pure2-last-use.cpp2:282:272: error: member initializer 'mf' does not name a non-static data member or base class
68- , mf{ CPP2_FORWARD(mf_) }
69- ^~~~~~~~~~~~~~~~~~~~~~~
70- pure2-last-use.cpp2:283:272: error: member initializer 'mg' does not name a non-static data member or base class
71- , mg{ CPP2_FORWARD(mg_) }{}
72- ^~~~~~~~~~~~~~~~~~~~~~~
73- fatal error: too many errors emitted, stopping now [-ferror-limit=]
74- 20 errors generated.
52+ pure2-last-use.cpp2:279:179: error: expected variable name or 'this' in lambda capture list
53+ requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)>>&>)
54+ ^
55+ pure2-last-use.cpp2:1044:2: error: expected '>'
56+ }
57+ ^
58+ pure2-last-use.cpp2:279:173: note: to match this '<'
59+ requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)>>&>)
60+ ^
61+ pure2-last-use.cpp2:1045:1: error: type name requires a specifier or qualifier
62+ ^
63+ pure2-last-use.cpp2:1044:2: error: expected '>'
64+ }
65+ ^
66+ pure2-last-use.cpp2:279:154: note: to match this '<'
67+ requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)>>&>)
68+ ^
69+ pure2-last-use.cpp2:1045:1: error: type name requires a specifier or qualifier
70+ ^
71+ pure2-last-use.cpp2:1044:2: error: expected '>'
72+ }
73+ ^
74+ pure2-last-use.cpp2:279:120: note: to match this '<'
75+ requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)>>&>)
76+ ^
77+ pure2-last-use.cpp2:1045:1: error: expected function body after function declarator
78+ ^
79+ 19 errors generated.
0 commit comments