| ... | @@ -151,6 +151,57 @@ pub fn addCases(cases: *tests.StackTracesContext) void { | ... | @@ -151,6 +151,57 @@ pub fn addCases(cases: *tests.StackTracesContext) void { |
| 151 | }, | 151 | }, |
| 152 | }); | 152 | }); |
| 153 | | 153 | |
| | 154 | cases.addCase(.{ |
| | 155 | .name = "continue in while loop", |
| | 156 | .source = |
| | 157 | \\fn foo() !void { |
| | 158 | \\ return error.UhOh; |
| | 159 | \\} |
| | 160 | \\ |
| | 161 | \\pub fn main() !void { |
| | 162 | \\ var i: usize = 0; |
| | 163 | \\ while (i < 3) : (i += 1) { |
| | 164 | \\ foo() catch continue; |
| | 165 | \\ } |
| | 166 | \\ return error.UnrelatedError; |
| | 167 | \\} |
| | 168 | , |
| | 169 | .Debug = .{ |
| | 170 | .expect = |
| | 171 | \\error: UnrelatedError |
| | 172 | \\source.zig:10:5: [address] in main (test) |
| | 173 | \\ return error.UnrelatedError; |
| | 174 | \\ ^ |
| | 175 | \\ |
| | 176 | , |
| | 177 | }, |
| | 178 | .ReleaseSafe = .{ |
| | 179 | .exclude_os = .{ |
| | 180 | .windows, // TODO |
| | 181 | .linux, // defeated by aggressive inlining |
| | 182 | }, |
| | 183 | .expect = |
| | 184 | \\error: UnrelatedError |
| | 185 | \\source.zig:10:5: [address] in [function] |
| | 186 | \\ return error.UnrelatedError; |
| | 187 | \\ ^ |
| | 188 | \\ |
| | 189 | , |
| | 190 | }, |
| | 191 | .ReleaseFast = .{ |
| | 192 | .expect = |
| | 193 | \\error: UnrelatedError |
| | 194 | \\ |
| | 195 | , |
| | 196 | }, |
| | 197 | .ReleaseSmall = .{ |
| | 198 | .expect = |
| | 199 | \\error: UnrelatedError |
| | 200 | \\ |
| | 201 | , |
| | 202 | }, |
| | 203 | }); |
| | 204 | |
| 154 | cases.addCase(.{ | 205 | cases.addCase(.{ |
| 155 | .name = "try return + handled catch/if-else", | 206 | .name = "try return + handled catch/if-else", |
| 156 | .source = | 207 | .source = |