Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nested.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do run { target c++11 } } #include <cassert> struct A { int i; A(): i(42) { } int f() { return [this]{ return [=]{ return i; }(); // { dg-warning "implicit capture" "" { target c++2a } } }(); } }; int main() { int i = 1; [] (int& i) -> void { [&] () -> void { i = 2; } (); } (i); assert(i == 2); [&] () -> void { [&i] () -> void { i = 3; } (); } (); assert(i == 3); [&] () -> void { [&] () -> void { i = 4; } (); } (); assert(i == 4); i = 4; [&] () -> void { [=] () mutable -> void { i = 5; } (); } (); assert(i == 4); [=] () mutable -> void { [&] () -> void { i = 6; } (); } (); assert(i == 4); assert (A().f() == 42); return 0; }