(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp0x/
lambda/
lambda-deduce.C
// { dg-do run { target c++11 } }
#include <cassert>

int main() {
  [] {};
  [] {} ();
  [] () {};
  [] () {} ();
  [] () { return "lambda"; };

  int i = 1, j = 2;
  [&i, j] () { i = j; } ();
  assert(i == 2);
  assert(j == 2);

  i = [] () { return 3; } ();
  assert(i == 3);

  int k = [&] () { return i; } ();

  []{ return; };

  int array[] = { 1, 2, 3 };
  int* p = [&] () { return array; } ();

  return 0;
}