Skip to content

Commit 1c2fdc2

Browse files
committed
Rust: Add more local data flow tests
1 parent fab2936 commit 1c2fdc2

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed

rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,27 @@
8383
| main.rs:111:14:111:14 | n | main.rs:111:14:111:14 | [SSA] n |
8484
| main.rs:111:20:111:26 | CallExpr | main.rs:110:5:113:5 | MatchExpr |
8585
| main.rs:112:17:112:23 | CallExpr | main.rs:110:5:113:5 | MatchExpr |
86+
| main.rs:117:9:117:9 | [SSA] a | main.rs:118:5:118:5 | a |
87+
| main.rs:117:9:117:9 | a | main.rs:117:9:117:9 | [SSA] a |
88+
| main.rs:117:13:117:17 | BlockExpr | main.rs:117:9:117:9 | a |
89+
| main.rs:117:15:117:15 | 0 | main.rs:117:13:117:17 | BlockExpr |
90+
| main.rs:118:5:118:5 | a | main.rs:116:31:119:1 | BlockExpr |
91+
| main.rs:121:22:121:22 | [SSA] b | main.rs:123:12:123:12 | b |
92+
| main.rs:121:22:121:22 | b | main.rs:121:22:121:22 | [SSA] b |
93+
| main.rs:122:9:122:9 | [SSA] a | main.rs:128:5:128:5 | a |
94+
| main.rs:122:9:122:9 | a | main.rs:122:9:122:9 | [SSA] a |
95+
| main.rs:122:13:127:5 | BlockExpr | main.rs:122:9:122:9 | a |
96+
| main.rs:123:12:123:12 | b | main.rs:123:9:125:9 | IfExpr |
97+
| main.rs:124:13:124:26 | BreakExpr | main.rs:122:13:127:5 | BlockExpr |
98+
| main.rs:124:26:124:26 | 1 | main.rs:124:13:124:26 | BreakExpr |
99+
| main.rs:126:9:126:9 | 2 | main.rs:122:13:127:5 | BlockExpr |
100+
| main.rs:128:5:128:5 | a | main.rs:121:38:129:1 | BlockExpr |
101+
| main.rs:131:22:131:22 | [SSA] b | main.rs:133:12:133:12 | b |
102+
| main.rs:131:22:131:22 | b | main.rs:131:22:131:22 | [SSA] b |
103+
| main.rs:132:9:132:9 | [SSA] a | main.rs:138:5:138:5 | a |
104+
| main.rs:132:9:132:9 | a | main.rs:132:9:132:9 | [SSA] a |
105+
| main.rs:132:13:137:5 | BlockExpr | main.rs:132:9:132:9 | a |
106+
| main.rs:133:12:133:12 | b | main.rs:133:9:135:9 | IfExpr |
107+
| main.rs:134:26:134:26 | 1 | main.rs:134:13:134:26 | BreakExpr |
108+
| main.rs:136:22:136:22 | 2 | main.rs:136:9:136:22 | BreakExpr |
109+
| main.rs:138:5:138:5 | a | main.rs:131:38:139:1 | BlockExpr |

rust/ql/test/library-tests/dataflow/local/main.rs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,31 @@ fn option_pattern_match() {
113113
}
114114
}
115115

116+
fn block_expression1() -> i64 {
117+
let a = { 0 };
118+
a
119+
}
120+
121+
fn block_expression2(b: bool) -> i64 {
122+
let a = 'block: {
123+
if b {
124+
break 'block 1;
125+
};
126+
2
127+
};
128+
a
129+
}
130+
131+
fn block_expression3(b: bool) -> i64 {
132+
let a = 'block: {
133+
if b {
134+
break 'block 1;
135+
}
136+
break 'block 2;
137+
};
138+
a
139+
}
140+
116141
fn main() {
117142
direct();
118143
variable_usage();
@@ -125,4 +150,7 @@ fn main() {
125150
struct_field();
126151
struct_pattern_match();
127152
option_pattern_match();
153+
block_expression1();
154+
block_expression2(true);
155+
block_expression3(true);
128156
}

0 commit comments

Comments
 (0)