PR c++/56973, DR 696 - capture constant variables only as needed.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp1y / lambda-conv1.C
blob2e4ec4964d5b6e24570ae1cccedc9571dbaffdf6
1 // PR c++/71105
2 // { dg-do compile { target c++14 } }
4 void foo()
6   int i;
7   static_cast<void(*)(int)>([i](auto){});  // { dg-error "invalid static_cast" }
8   static_cast<void(*)(int)>([=](auto){});  // { dg-error "invalid static_cast" }
9   static_cast<void(*)(int)>([&](auto){});  // { dg-error "invalid static_cast" }
10   static_cast<float(*)(float)>([i](auto x){ return x; });  // { dg-error "invalid static_cast" }
11   static_cast<float(*)(float)>([=](auto x){ return x; });  // { dg-error "invalid static_cast" }
12   static_cast<float(*)(float)>([&](auto x){ return x; });  // { dg-error "invalid static_cast" }