/* * Copyright (c) 2016 - present Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ int bar() { auto func = []() { int i = 0; return i; }; return 7 / func(); } int foo() { auto unused = []() { return 1 / 0; }; auto y = [](int i) { return ++i; }; return 5 / (4 - y(3)); } int fooOK() { auto y = [](int i) { return i++; }; return 5 / (4 - y(3)); } int normal_capture() { int x = 1; int y = 2; return [x, y]() { return x + y; }(); } int capture_by_ref() { int x = 0; [&x]() { x++; }(); return x; } int init_capture1() { return [i = 0]() { return i; } (); } int init_capture2() { int i = 0; return [ a = i, b = 0, c = 3 ]() { return a + b + c; } (); }