// PR c++/57437 | |
// { dg-require-effective-target c++11 } | |
struct A { | |
int i; | |
A(): i(42) {} | |
A(const A&) = default; | |
A(A&& a): i(a.i) { a.i = 0; } | |
}; | |
int main() | |
{ | |
A x; | |
auto y = [x] () mutable { | |
x.i++; | |
return x; | |
}; | |
if (y().i != 43) | |
__builtin_abort (); | |
if (y().i != 44) | |
__builtin_abort (); | |
} |