@@ -97,7 +97,7 @@ auto const& f = t().f();
97
97
static_assert (f == 0 );
98
98
}
99
99
{
100
- auto f {[](auto const & f) -> auto {
100
+ auto f {[](auto const & f) mutable -> auto {
101
101
cpp2::Default.expects (CPP2_UFCS (f)(t ()) == 0 , " " );
102
102
return CPP2_UFCS (f)(u ());
103
103
}(identity ())};
@@ -111,7 +111,7 @@ auto const& f = t().f();
111
111
// _ = f;
112
112
}
113
113
{
114
- auto f {[]() -> void {
114
+ auto f {[]() mutable -> void {
115
115
{
116
116
cpp2::in<identity> f = identity ();
117
117
#line 59 "pure2-bugfix-for-ufcs-name-lookup.cpp2"
@@ -127,26 +127,26 @@ cpp2::in<identity> f = identity();
127
127
static_cast <void >(std::move (f));
128
128
}
129
129
{
130
- auto f {[]() -> void {
130
+ auto f {[]() mutable -> void {
131
131
using ns::f;
132
132
static_assert (CPP2_UFCS (f)(t ()) == 0 );
133
133
// static_assert(u().f() == 1);
134
134
}};
135
135
static_cast <void >(std::move (f));
136
136
}
137
137
{
138
- auto f {[]() -> void {
138
+ auto f {[]() mutable -> void {
139
139
static_assert (t ().f () == 0 );
140
- auto g {[]<typename T>([[maybe_unused]] T const & unnamed_param_1) -> std::void_t <decltype (T ().f ())>{}};
140
+ auto g {[]<typename T>([[maybe_unused]] T const & unnamed_param_1) mutable -> std::void_t <decltype (T ().f ())>{}};
141
141
static_assert (!(std::is_invocable_v<decltype (std::move (g)),u>));
142
142
using ns::f;
143
143
}};
144
144
static_cast <void >(std::move (f));
145
145
}
146
146
{
147
- auto f {[]() -> void {
147
+ auto f {[]() mutable -> void {
148
148
using ns::f;
149
- static_cast <void >([]() -> void {
149
+ static_cast <void >([]() mutable -> void {
150
150
static_assert (CPP2_UFCS (f)(t ()) == 0 );
151
151
// static_assert(u().f() == 1);
152
152
});
@@ -158,15 +158,15 @@ cpp2::in<identity> f = identity();
158
158
static_cast <void >(std::move (f));
159
159
}
160
160
{
161
- auto f {[]() -> void {
162
- static_cast <void >([]() -> void {
161
+ auto f {[]() mutable -> void {
162
+ static_cast <void >([]() mutable -> void {
163
163
static_assert (t ().f () == 0 );
164
- auto g {[]<typename T>([[maybe_unused]] T const & unnamed_param_1) -> std::void_t <decltype (T ().f ())>{}};
164
+ auto g {[]<typename T>([[maybe_unused]] T const & unnamed_param_1) mutable -> std::void_t <decltype (T ().f ())>{}};
165
165
static_assert (!(std::is_invocable_v<decltype (std::move (g)),u>));
166
166
});
167
167
{
168
168
static_assert (t ().f () == 0 );
169
- auto g {[]<typename T>([[maybe_unused]] T const & unnamed_param_1) -> std::void_t <decltype (T ().f ())>{}};
169
+ auto g {[]<typename T>([[maybe_unused]] T const & unnamed_param_1) mutable -> std::void_t <decltype (T ().f ())>{}};
170
170
static_assert (!(std::is_invocable_v<decltype (std::move (g)),u>));
171
171
}
172
172
using ns::f;
0 commit comments