Commit 536c350
committed
Match cases in parallel
... as mandated by new spec. This required some changes to Tuple.scala to
avoid blow-up of repeated matches. Also, scrutinees of bottom types are now
specialized to always yield NoType. This makes sense since corresponding match
expressions would not match anything, either. It also prevents deep subtype
recursions with Nothing as scrutinee.1 parent 16d1856 commit 536c350
File tree
3 files changed
+40
-55
lines changed- compiler/src/dotty/tools/dotc/core
- library/src-scala3/scala
- tests/pos-deep-subtype
3 files changed
+40
-55
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3283 | 3283 | | |
3284 | 3284 | | |
3285 | 3285 | | |
3286 | | - | |
| 3286 | + | |
3287 | 3287 | | |
3288 | 3288 | | |
3289 | 3289 | | |
3290 | 3290 | | |
3291 | 3291 | | |
3292 | 3292 | | |
3293 | | - | |
| 3293 | + | |
3294 | 3294 | | |
3295 | 3295 | | |
3296 | 3296 | | |
| |||
3590 | 3590 | | |
3591 | 3591 | | |
3592 | 3592 | | |
3593 | | - | |
3594 | | - | |
3595 | | - | |
3596 | | - | |
3597 | | - | |
3598 | | - | |
3599 | | - | |
3600 | | - | |
3601 | | - | |
3602 | | - | |
3603 | | - | |
3604 | | - | |
3605 | | - | |
3606 | | - | |
3607 | | - | |
3608 | | - | |
3609 | | - | |
3610 | | - | |
3611 | | - | |
3612 | 3593 | | |
3613 | 3594 | | |
3614 | 3595 | | |
| |||
3618 | 3599 | | |
3619 | 3600 | | |
3620 | 3601 | | |
3621 | | - | |
3622 | | - | |
3623 | | - | |
3624 | | - | |
3625 | | - | |
3626 | | - | |
3627 | | - | |
3628 | | - | |
3629 | | - | |
3630 | 3602 | | |
3631 | 3603 | | |
3632 | 3604 | | |
| |||
3658 | 3630 | | |
3659 | 3631 | | |
3660 | 3632 | | |
3661 | | - | |
| 3633 | + | |
| 3634 | + | |
| 3635 | + | |
| 3636 | + | |
| 3637 | + | |
| 3638 | + | |
| 3639 | + | |
| 3640 | + | |
| 3641 | + | |
| 3642 | + | |
| 3643 | + | |
| 3644 | + | |
| 3645 | + | |
| 3646 | + | |
| 3647 | + | |
3662 | 3648 | | |
3663 | 3649 | | |
3664 | 3650 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
122 | | - | |
123 | | - | |
124 | | - | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
125 | 128 | | |
126 | 129 | | |
127 | 130 | | |
128 | 131 | | |
129 | 132 | | |
130 | 133 | | |
131 | 134 | | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
| 135 | + | |
140 | 136 | | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
145 | 142 | | |
146 | 143 | | |
| 144 | + | |
| 145 | + | |
147 | 146 | | |
148 | 147 | | |
149 | 148 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
| 38 | + | |
39 | 39 | | |
40 | 40 | | |
0 commit comments