// Testcase for an extension to allow return type deduction when the lambda
// contains more than just a single return-statement.

// { dg-do run { target c++14 } }

bool b;
template <class T>
T f (T t)
{
  return [=] {
    auto i = t+1;
    if (b)
      return i+1;
    else
      return i+1;
  }();
}

int main()
{
  // Pointless, but well-formed.
  [] { return 1; return 2; }();

  if (f(1) != 3)
    return 1;
}
