Commit 53df90a
committed
Make atoms computation talk about empty sets correctly
Previously we merged the atoms info of a type with an empty atoms set and a type with
no atoms, since we identified the empty set with "does not have atoms". But that
cannot type the inequality
0 & 1 <: 0
The new scheme distinguishes the two states by using an Option[Set[Type]] in the
computations.1 parent 898bc84 commit 53df90a
File tree
3 files changed
+56
-45
lines changed- compiler/src/dotty/tools/dotc/core
- tests/pos
3 files changed
+56
-45
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
440 | 440 | | |
441 | 441 | | |
442 | 442 | | |
443 | | - | |
444 | | - | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | | - | |
449 | | - | |
450 | | - | |
451 | | - | |
452 | | - | |
453 | | - | |
454 | | - | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
455 | 457 | | |
456 | 458 | | |
457 | 459 | | |
| |||
613 | 615 | | |
614 | 616 | | |
615 | 617 | | |
616 | | - | |
617 | | - | |
618 | | - | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
619 | 625 | | |
620 | 626 | | |
621 | 627 | | |
| |||
1787 | 1793 | | |
1788 | 1794 | | |
1789 | 1795 | | |
1790 | | - | |
1791 | | - | |
1792 | | - | |
1793 | | - | |
1794 | | - | |
1795 | | - | |
1796 | | - | |
1797 | | - | |
1798 | | - | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
1799 | 1805 | | |
1800 | 1806 | | |
1801 | 1807 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1173 | 1173 | | |
1174 | 1174 | | |
1175 | 1175 | | |
1176 | | - | |
| 1176 | + | |
| 1177 | + | |
1177 | 1178 | | |
1178 | 1179 | | |
1179 | 1180 | | |
| |||
1187 | 1188 | | |
1188 | 1189 | | |
1189 | 1190 | | |
1190 | | - | |
1191 | | - | |
1192 | | - | |
1193 | | - | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
1194 | 1195 | | |
1195 | 1196 | | |
1196 | | - | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
1197 | 1200 | | |
1198 | | - | |
1199 | | - | |
| 1201 | + | |
1200 | 1202 | | |
1201 | 1203 | | |
1202 | 1204 | | |
| |||
2920 | 2922 | | |
2921 | 2923 | | |
2922 | 2924 | | |
2923 | | - | |
2924 | | - | |
| 2925 | + | |
| 2926 | + | |
2925 | 2927 | | |
2926 | 2928 | | |
2927 | 2929 | | |
2928 | | - | |
2929 | | - | |
2930 | | - | |
2931 | | - | |
2932 | | - | |
2933 | | - | |
2934 | | - | |
| 2930 | + | |
| 2931 | + | |
| 2932 | + | |
| 2933 | + | |
| 2934 | + | |
| 2935 | + | |
| 2936 | + | |
2935 | 2937 | | |
2936 | 2938 | | |
2937 | 2939 | | |
2938 | 2940 | | |
2939 | | - | |
2940 | 2941 | | |
2941 | | - | |
| 2942 | + | |
2942 | 2943 | | |
2943 | 2944 | | |
2944 | | - | |
2945 | 2945 | | |
2946 | 2946 | | |
2947 | 2947 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
14 | 19 | | |
0 commit comments