1 // RUN: %clang %s -fsyntax-only -fbracket-depth=512
2 // RUN: not %clang %s -fsyntax-only -fbracket-depth=512 -DFAIL 2>&1 | FileCheck %s
3 
4 template <class T> int foo(T &&t);
5 
6 void bar(int x = foo(
7 
8 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
9 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
10 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
11 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
12 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
13 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
14 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
15 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
16 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
17 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
18 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
19 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
20 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
21 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
22 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
23 
24 [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo(
25 
26 #ifdef FAIL
27 [](int x = foo(
28 #endif
29 
__anon7a07d7c50102(int x = foo(1))30 [](int x = foo(1)){}
31 
32 #ifdef FAIL
__anon7a07d7c50202(int x = foo( [](int x = foo(1)){}))33 )){}
34 #endif
35 
__anon7a07d7c50502(int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){}))36 )){})){})){})){})){})){}
37 
__anon7a07d7c50e02(int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){}))38 )){})){})){})){})){})){})){})){}
__anon7a07d7c51602(int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))39 )){})){})){})){})){})){})){})){}
__anon7a07d7c51e02(int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))40 )){})){})){})){})){})){})){})){}
__anon7a07d7c52802(int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))41 )){})){})){})){})){})){})){})){}
__anon7a07d7c52902(int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))42 )){})){})){})){})){})){})){})){}
__anon7a07d7c53702(int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))43 )){})){})){})){})){})){})){})){}
__anon7a07d7c53902(int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))44 )){})){})){})){})){})){})){})){}
__anon7a07d7c54802(int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))45 )){})){})){})){})){})){})){})){}
__anon7a07d7c54902(int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))46 )){})){})){})){})){})){})){})){}
__anon7a07d7c55402(int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))47 )){})){})){})){})){})){})){})){}
__anon7a07d7c55902(int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))48 )){})){})){})){})){})){})){})){}
__anon7a07d7c56102(int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))49 )){})){})){})){})){})){})){})){}
__anon7a07d7c57002(int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))50 )){})){})){})){})){})){})){})){}
__anon7a07d7c57102(int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))51 )){})){})){})){})){})){})){})){}
__anon7a07d7c58002(int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo([](int x = foo( [](int x = foo( [](int x = foo(1)){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){})){}))52 )){})){})){})){})){})){})){})){}
53 ));
54 
55 // CHECK: fatal error: function scope depth exceeded maximum of 127
56