Commit 4fc06ac
committed
Arbitrary self types v2: diagnostics in resolution.
If we get past all the earlier stages of validation (in well-formedness
checking and in probing) there's still a chance that resolving the self
type will produce errors at the 'confirmation' stage. Add an extra note
to those errors to make it clear that they were encountered while
resolving the 'self' type.
This is a fairly niche case and users may not encounter it often. It's
arguably not worth the extra complexity required to produce this note.
Opinions welcome.1 parent eedc229 commit 4fc06ac
File tree
11 files changed
+85
-9
lines changed- compiler
- rustc_borrowck/src/diagnostics
- rustc_hir_analysis/src/check
- rustc_hir_typeck/src
- fn_ctxt
- method
- rustc_passes/src
- rustc_trait_selection/src/error_reporting
- infer
- traits
- tests/ui/self
11 files changed
+85
-9
lines changedLines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
464 | 465 | | |
465 | 466 | | |
466 | 467 | | |
| 468 | + | |
467 | 469 | | |
468 | 470 | | |
469 | 471 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| |||
639 | 640 | | |
640 | 641 | | |
641 | 642 | | |
| 643 | + | |
642 | 644 | | |
643 | 645 | | |
644 | 646 | | |
| |||
1060 | 1062 | | |
1061 | 1063 | | |
1062 | 1064 | | |
| 1065 | + | |
1063 | 1066 | | |
1064 | 1067 | | |
1065 | 1068 | | |
| |||
1852 | 1855 | | |
1853 | 1856 | | |
1854 | 1857 | | |
| 1858 | + | |
1855 | 1859 | | |
1856 | 1860 | | |
1857 | 1861 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
| 95 | + | |
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
| |||
651 | 651 | | |
652 | 652 | | |
653 | 653 | | |
| 654 | + | |
654 | 655 | | |
655 | 656 | | |
656 | 657 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
28 | 30 | | |
29 | 31 | | |
30 | 32 | | |
| |||
830 | 832 | | |
831 | 833 | | |
832 | 834 | | |
| 835 | + | |
833 | 836 | | |
834 | 837 | | |
835 | 838 | | |
| |||
942 | 945 | | |
943 | 946 | | |
944 | 947 | | |
945 | | - | |
946 | | - | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
947 | 954 | | |
948 | 955 | | |
949 | 956 | | |
| |||
971 | 978 | | |
972 | 979 | | |
973 | 980 | | |
974 | | - | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
975 | 987 | | |
976 | 988 | | |
977 | 989 | | |
| |||
1148 | 1160 | | |
1149 | 1161 | | |
1150 | 1162 | | |
| 1163 | + | |
1151 | 1164 | | |
1152 | 1165 | | |
1153 | 1166 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
531 | 531 | | |
532 | 532 | | |
533 | 533 | | |
534 | | - | |
| 534 | + | |
535 | 535 | | |
536 | 536 | | |
537 | 537 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
38 | 39 | | |
39 | 40 | | |
40 | 41 | | |
| |||
2371 | 2372 | | |
2372 | 2373 | | |
2373 | 2374 | | |
| 2375 | + | |
2374 | 2376 | | |
2375 | 2377 | | |
2376 | 2378 | | |
| |||
Lines changed: 38 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
95 | 104 | | |
96 | 105 | | |
97 | 106 | | |
| |||
159 | 168 | | |
160 | 169 | | |
161 | 170 | | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
162 | 188 | | |
163 | 189 | | |
164 | 190 | | |
| |||
174 | 200 | | |
175 | 201 | | |
176 | 202 | | |
| 203 | + | |
177 | 204 | | |
178 | 205 | | |
179 | 206 | | |
| |||
1376 | 1403 | | |
1377 | 1404 | | |
1378 | 1405 | | |
| 1406 | + | |
1379 | 1407 | | |
1380 | 1408 | | |
1381 | 1409 | | |
| |||
1839 | 1867 | | |
1840 | 1868 | | |
1841 | 1869 | | |
| 1870 | + | |
| 1871 | + | |
| 1872 | + | |
| 1873 | + | |
1842 | 1874 | | |
1843 | 1875 | | |
1844 | 1876 | | |
| |||
2026 | 2058 | | |
2027 | 2059 | | |
2028 | 2060 | | |
| 2061 | + | |
2029 | 2062 | | |
2030 | | - | |
| 2063 | + | |
| 2064 | + | |
| 2065 | + | |
| 2066 | + | |
2031 | 2067 | | |
2032 | 2068 | | |
2033 | 2069 | | |
| |||
2043 | 2079 | | |
2044 | 2080 | | |
2045 | 2081 | | |
| 2082 | + | |
2046 | 2083 | | |
2047 | 2084 | | |
2048 | 2085 | | |
| |||
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
21 | 20 | | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
299 | 299 | | |
300 | 300 | | |
301 | 301 | | |
| 302 | + | |
302 | 303 | | |
303 | 304 | | |
304 | 305 | | |
| |||
654 | 655 | | |
655 | 656 | | |
656 | 657 | | |
| 658 | + | |
657 | 659 | | |
658 | 660 | | |
659 | 661 | | |
| |||
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| |||
727 | 727 | | |
728 | 728 | | |
729 | 729 | | |
| 730 | + | |
730 | 731 | | |
731 | 732 | | |
732 | 733 | | |
| |||
1455 | 1456 | | |
1456 | 1457 | | |
1457 | 1458 | | |
| 1459 | + | |
1458 | 1460 | | |
1459 | 1461 | | |
1460 | 1462 | | |
| |||
2741 | 2743 | | |
2742 | 2744 | | |
2743 | 2745 | | |
| 2746 | + | |
2744 | 2747 | | |
2745 | 2748 | | |
2746 | 2749 | | |
| |||
2832 | 2835 | | |
2833 | 2836 | | |
2834 | 2837 | | |
| 2838 | + | |
2835 | 2839 | | |
2836 | 2840 | | |
2837 | 2841 | | |
| |||
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
| 43 | + | |
42 | 44 | | |
43 | 45 | | |
44 | 46 | | |
45 | 47 | | |
46 | 48 | | |
47 | 49 | | |
| 50 | + | |
| 51 | + | |
48 | 52 | | |
49 | 53 | | |
50 | 54 | | |
| |||
54 | 58 | | |
55 | 59 | | |
56 | 60 | | |
| 61 | + | |
57 | 62 | | |
58 | 63 | | |
59 | 64 | | |
| |||
63 | 68 | | |
64 | 69 | | |
65 | 70 | | |
| 71 | + | |
66 | 72 | | |
67 | 73 | | |
68 | 74 | | |
| |||
0 commit comments