File tree Expand file tree Collapse file tree
cpp/ql/test/library-tests/lambdas/captures Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -10,4 +10,10 @@ struct foo {
1010 b (x + 1 );
1111 };
1212 }
13+
14+ static void c (int x) {
15+ [x] {
16+ c (0 ); // `x` is unused, but still captured.
17+ };
18+ }
1319};
Original file line number Diff line number Diff line change 1- | captures.cpp:3:6:3:6 | x | explicit |
2- | captures.cpp:3:9:3:12 | (captured this) | explicit |
3- | captures.cpp:3:9:3:12 | x | explicit |
4- | captures.cpp:10:7:10:7 | (captured this) | implicit |
5- | captures.cpp:10:9:10:9 | (captured this) | implicit |
6- | captures.cpp:10:9:10:9 | x | implicit |
7- | end_pos.cpp:9:17:9:18 | ii | explicit |
1+ | captures.cpp:3:6:3:6 | x | explicit | 1 |
2+ | captures.cpp:3:9:3:12 | (captured this) | explicit | 2 |
3+ | captures.cpp:10:7:10:7 | (captured this) | implicit | 1 |
4+ | captures.cpp:10:9:10:9 | x | implicit | 2 |
5+ | captures.cpp:15:6:15:6 | x | explicit | 1 |
6+ | end_pos.cpp:9:17:9:18 | ii | explicit | 1 |
Original file line number Diff line number Diff line change 11import cpp
22
3- from LambdaCapture lc , string mode
4- where if lc .isImplicit ( ) then mode = "implicit" else mode = "explicit"
5- select lc , mode
3+ from LambdaCapture lc , string mode , int index
4+ where
5+ exists ( LambdaExpression le | le .getCapture ( index ) = lc ) and
6+ if lc .isImplicit ( ) then mode = "implicit" else mode = "explicit"
7+ select lc , mode , index
You can’t perform that action at this time.
0 commit comments