This repository was archived by the owner on May 28, 2025. It is now read-only.
Commit 307dd93
committed
Auto merge of rust-lang#101454 - cjgillot:concat-binders, r=estebank
Do not overwrite lifetime binders for another HirId.
This PR makes higher-ranked bounds in where clauses a bit more principled.
We used to conflate `for<'a> T: Trait` with `(for<'a> T): Trait`.
This PR separates both binders.
This caused issued with fn types, which have their own binder, causing us to overwrite the predicates's binders with `fn`'s binders, ICEing.
Fixes rust-lang#98594File tree
9 files changed
+118
-31
lines changed- compiler
- rustc_ast_lowering/src
- rustc_hir_analysis/src
- rustc_hir/src
- rustc_resolve/src/late
- src/test/ui
- stats
- where-clauses
9 files changed
+118
-31
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1478 | 1478 | | |
1479 | 1479 | | |
1480 | 1480 | | |
| 1481 | + | |
1481 | 1482 | | |
1482 | 1483 | | |
1483 | 1484 | | |
| |||
1508 | 1509 | | |
1509 | 1510 | | |
1510 | 1511 | | |
| 1512 | + | |
1511 | 1513 | | |
1512 | 1514 | | |
1513 | 1515 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
731 | 731 | | |
732 | 732 | | |
733 | 733 | | |
| 734 | + | |
734 | 735 | | |
735 | 736 | | |
736 | 737 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
847 | 847 | | |
848 | 848 | | |
849 | 849 | | |
| 850 | + | |
850 | 851 | | |
851 | 852 | | |
852 | 853 | | |
853 | | - | |
| 854 | + | |
| 855 | + | |
854 | 856 | | |
| 857 | + | |
855 | 858 | | |
856 | 859 | | |
857 | 860 | | |
858 | 861 | | |
859 | | - | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
860 | 868 | | |
861 | 869 | | |
862 | 870 | | |
863 | | - | |
| 871 | + | |
864 | 872 | | |
865 | 873 | | |
866 | 874 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
697 | 697 | | |
698 | 698 | | |
699 | 699 | | |
700 | | - | |
| 700 | + | |
701 | 701 | | |
702 | 702 | | |
703 | 703 | | |
| |||
2295 | 2295 | | |
2296 | 2296 | | |
2297 | 2297 | | |
2298 | | - | |
| 2298 | + | |
2299 | 2299 | | |
2300 | 2300 | | |
2301 | 2301 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
326 | 326 | | |
327 | 327 | | |
328 | 328 | | |
| 329 | + | |
329 | 330 | | |
330 | 331 | | |
331 | 332 | | |
| |||
507 | 508 | | |
508 | 509 | | |
509 | 510 | | |
510 | | - | |
| 511 | + | |
511 | 512 | | |
512 | 513 | | |
513 | 514 | | |
| |||
531 | 532 | | |
532 | 533 | | |
533 | 534 | | |
534 | | - | |
| 535 | + | |
535 | 536 | | |
536 | 537 | | |
537 | 538 | | |
| |||
583 | 584 | | |
584 | 585 | | |
585 | 586 | | |
586 | | - | |
| 587 | + | |
587 | 588 | | |
588 | 589 | | |
589 | 590 | | |
| |||
614 | 615 | | |
615 | 616 | | |
616 | 617 | | |
617 | | - | |
| 618 | + | |
618 | 619 | | |
619 | 620 | | |
620 | 621 | | |
| |||
663 | 664 | | |
664 | 665 | | |
665 | 666 | | |
666 | | - | |
| 667 | + | |
667 | 668 | | |
668 | 669 | | |
669 | 670 | | |
| |||
817 | 818 | | |
818 | 819 | | |
819 | 820 | | |
820 | | - | |
| 821 | + | |
821 | 822 | | |
822 | 823 | | |
823 | 824 | | |
| |||
861 | 862 | | |
862 | 863 | | |
863 | 864 | | |
864 | | - | |
| 865 | + | |
865 | 866 | | |
866 | 867 | | |
867 | 868 | | |
| |||
909 | 910 | | |
910 | 911 | | |
911 | 912 | | |
912 | | - | |
| 913 | + | |
913 | 914 | | |
914 | | - | |
| 915 | + | |
915 | 916 | | |
916 | 917 | | |
917 | 918 | | |
| |||
995 | 996 | | |
996 | 997 | | |
997 | 998 | | |
| 999 | + | |
998 | 1000 | | |
999 | 1001 | | |
1000 | 1002 | | |
1001 | 1003 | | |
1002 | 1004 | | |
1003 | 1005 | | |
1004 | | - | |
| 1006 | + | |
1005 | 1007 | | |
1006 | 1008 | | |
1007 | 1009 | | |
1008 | 1010 | | |
1009 | 1011 | | |
1010 | 1012 | | |
1011 | 1013 | | |
1012 | | - | |
1013 | | - | |
1014 | | - | |
1015 | | - | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
1016 | 1022 | | |
1017 | | - | |
1018 | | - | |
| 1023 | + | |
| 1024 | + | |
1019 | 1025 | | |
1020 | 1026 | | |
1021 | 1027 | | |
1022 | 1028 | | |
1023 | 1029 | | |
1024 | | - | |
| 1030 | + | |
1025 | 1031 | | |
1026 | 1032 | | |
1027 | 1033 | | |
| |||
1089 | 1095 | | |
1090 | 1096 | | |
1091 | 1097 | | |
1092 | | - | |
| 1098 | + | |
1093 | 1099 | | |
1094 | 1100 | | |
1095 | 1101 | | |
| |||
1127 | 1133 | | |
1128 | 1134 | | |
1129 | 1135 | | |
1130 | | - | |
| 1136 | + | |
1131 | 1137 | | |
1132 | 1138 | | |
1133 | 1139 | | |
| |||
1211 | 1217 | | |
1212 | 1218 | | |
1213 | 1219 | | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
1214 | 1229 | | |
1215 | 1230 | | |
1216 | 1231 | | |
| |||
1268 | 1283 | | |
1269 | 1284 | | |
1270 | 1285 | | |
1271 | | - | |
| 1286 | + | |
1272 | 1287 | | |
1273 | 1288 | | |
1274 | 1289 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
140 | 140 | | |
141 | 141 | | |
142 | 142 | | |
143 | | - | |
144 | | - | |
145 | | - | |
| 143 | + | |
146 | 144 | | |
147 | 145 | | |
| 146 | + | |
| 147 | + | |
148 | 148 | | |
149 | 149 | | |
150 | 150 | | |
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
172 | | - | |
| 172 | + | |
173 | 173 | | |
174 | | - | |
| 174 | + | |
175 | 175 | | |
176 | 176 | | |
177 | | - | |
| 177 | + | |
178 | 178 | | |
Lines changed: 18 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
Lines changed: 18 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
0 commit comments