Commit b4da8ee
committed
Zir: split up start and end of range in
The old lowering was kind of neat, but it unintentionally allowed the
syntax `for (123) |_| { ... }`, and there wasn't really a way to fix
that. So, instead, we include both the start and the end of the range in
the `for_len` instruction (each operand to `for` now has *two* entries
in this multi-op instruction). This slightly increases the size of ZIR
for loops of predominantly indexables, but the difference is small
enough that it's not worth complicating ZIR to try and fix it.for_len
1 parent 252c203 commit b4da8ee
File tree
4 files changed
+42
-42
lines changed- lib/std/zig
- src
- test/cases/compile_errors
4 files changed
+42
-42
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7020 | 7020 | | |
7021 | 7021 | | |
7022 | 7022 | | |
7023 | | - | |
| 7023 | + | |
7024 | 7024 | | |
7025 | 7025 | | |
7026 | 7026 | | |
| |||
7039 | 7039 | | |
7040 | 7040 | | |
7041 | 7041 | | |
7042 | | - | |
| 7042 | + | |
7043 | 7043 | | |
7044 | 7044 | | |
7045 | 7045 | | |
| |||
7068 | 7068 | | |
7069 | 7069 | | |
7070 | 7070 | | |
7071 | | - | |
7072 | | - | |
7073 | | - | |
7074 | | - | |
7075 | | - | |
7076 | | - | |
7077 | | - | |
7078 | | - | |
| 7071 | + | |
| 7072 | + | |
| 7073 | + | |
| 7074 | + | |
| 7075 | + | |
| 7076 | + | |
7079 | 7077 | | |
7080 | | - | |
| 7078 | + | |
7081 | 7079 | | |
7082 | | - | |
7083 | 7080 | | |
7084 | 7081 | | |
7085 | 7082 | | |
7086 | 7083 | | |
7087 | 7084 | | |
7088 | | - | |
| 7085 | + | |
7089 | 7086 | | |
7090 | 7087 | | |
7091 | 7088 | | |
| |||
7097 | 7094 | | |
7098 | 7095 | | |
7099 | 7096 | | |
7100 | | - | |
| 7097 | + | |
| 7098 | + | |
7101 | 7099 | | |
7102 | 7100 | | |
7103 | 7101 | | |
7104 | 7102 | | |
7105 | | - | |
| 7103 | + | |
7106 | 7104 | | |
7107 | 7105 | | |
7108 | 7106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
526 | 526 | | |
527 | 527 | | |
528 | 528 | | |
529 | | - | |
530 | | - | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
531 | 533 | | |
532 | 534 | | |
533 | 535 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4356 | 4356 | | |
4357 | 4357 | | |
4358 | 4358 | | |
4359 | | - | |
| 4359 | + | |
| 4360 | + | |
4360 | 4361 | | |
4361 | 4362 | | |
4362 | 4363 | | |
4363 | 4364 | | |
4364 | 4365 | | |
4365 | 4366 | | |
4366 | 4367 | | |
4367 | | - | |
| 4368 | + | |
4368 | 4369 | | |
4369 | 4370 | | |
4370 | 4371 | | |
4371 | | - | |
| 4372 | + | |
4372 | 4373 | | |
4373 | 4374 | | |
4374 | | - | |
4375 | | - | |
4376 | | - | |
4377 | | - | |
4378 | | - | |
4379 | | - | |
4380 | | - | |
4381 | | - | |
4382 | | - | |
| 4375 | + | |
| 4376 | + | |
4383 | 4377 | | |
4384 | 4378 | | |
4385 | 4379 | | |
4386 | 4380 | | |
4387 | | - | |
| 4381 | + | |
| 4382 | + | |
| 4383 | + | |
| 4384 | + | |
| 4385 | + | |
4388 | 4386 | | |
4389 | 4387 | | |
4390 | 4388 | | |
| |||
4401 | 4399 | | |
4402 | 4400 | | |
4403 | 4401 | | |
4404 | | - | |
4405 | 4402 | | |
| 4403 | + | |
| 4404 | + | |
| 4405 | + | |
| 4406 | + | |
| 4407 | + | |
4406 | 4408 | | |
4407 | 4409 | | |
4408 | 4410 | | |
| |||
4444 | 4446 | | |
4445 | 4447 | | |
4446 | 4448 | | |
4447 | | - | |
| 4449 | + | |
4448 | 4450 | | |
4449 | | - | |
4450 | | - | |
| 4451 | + | |
| 4452 | + | |
| 4453 | + | |
4451 | 4454 | | |
4452 | | - | |
4453 | | - | |
4454 | | - | |
4455 | | - | |
4456 | | - | |
4457 | | - | |
4458 | 4455 | | |
4459 | 4456 | | |
4460 | 4457 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
31 | 34 | | |
32 | 35 | | |
33 | | - | |
34 | | - | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| |||
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
| 47 | + | |
| 48 | + | |
0 commit comments