1 // Testcase for an extension to allow return type deduction when the lambda 2 // contains more than just a single return-statement. 3 4 // { dg-do run { target c++14 } } 5 6 bool b; 7 template <class T> f(T t)8T f (T t) 9 { 10 return [=] { 11 auto i = t+1; 12 if (b) 13 return i+1; 14 else 15 return i+1; 16 }(); 17 } 18 main()19int main() 20 { 21 // Pointless, but well-formed. 22 [] { return 1; return 2; }(); 23 24 if (f(1) != 3) 25 return 1; 26 } 27