Commit 9d28fe3
committed
Auto merge of #139000 - compiler-errors:rigid-missing-item, r=lcnr
Rigidly project missing item due to guaranteed impossible sized predicate
This is a somewhat involved change, but it amounts to treating missing impl items due to guaranteed impossible where clauses (dyn/str/slice sized, cc #135480) as *rigid projections* rather than projecting to an error term, since that was preventing either reporting a proper error (in an empty param env) *or* successfully type checking the code (in the presence of trivially false where clauses).
Fixes #138970
r? `@lcnr` `@oli-obk`File tree
19 files changed
+524
-91
lines changed- compiler
- rustc_hir_analysis/src/check
- rustc_middle/src
- query
- ty
- rustc_next_trait_solver/src/solve/normalizes_to
- rustc_trait_selection/src/traits
- rustc_ty_utils/src
- rustc_type_ir/src
- solve
- tests/ui
- associated-types
- traits
19 files changed
+524
-91
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
937 | 937 | | |
938 | 938 | | |
939 | 939 | | |
940 | | - | |
941 | | - | |
942 | | - | |
943 | | - | |
944 | | - | |
945 | | - | |
946 | | - | |
947 | | - | |
948 | | - | |
949 | | - | |
950 | | - | |
951 | | - | |
952 | | - | |
953 | | - | |
954 | | - | |
955 | | - | |
956 | | - | |
957 | | - | |
958 | | - | |
959 | | - | |
960 | | - | |
961 | | - | |
962 | | - | |
963 | | - | |
964 | | - | |
| 940 | + | |
965 | 941 | | |
966 | 942 | | |
967 | 943 | | |
| |||
992 | 968 | | |
993 | 969 | | |
994 | 970 | | |
995 | | - | |
| 971 | + | |
996 | 972 | | |
997 | 973 | | |
998 | 974 | | |
| |||
1027 | 1003 | | |
1028 | 1004 | | |
1029 | 1005 | | |
1030 | | - | |
| 1006 | + | |
1031 | 1007 | | |
1032 | 1008 | | |
1033 | 1009 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1026 | 1026 | | |
1027 | 1027 | | |
1028 | 1028 | | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
1029 | 1036 | | |
1030 | 1037 | | |
1031 | 1038 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
437 | 437 | | |
438 | 438 | | |
439 | 439 | | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
440 | 444 | | |
441 | 445 | | |
442 | 446 | | |
| |||
Lines changed: 29 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
137 | | - | |
| 137 | + | |
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
| |||
199 | 199 | | |
200 | 200 | | |
201 | 201 | | |
202 | | - | |
| 202 | + | |
203 | 203 | | |
204 | 204 | | |
205 | 205 | | |
| |||
232 | 232 | | |
233 | 233 | | |
234 | 234 | | |
235 | | - | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
236 | 262 | | |
237 | 263 | | |
238 | 264 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
669 | 669 | | |
670 | 670 | | |
671 | 671 | | |
672 | | - | |
| 672 | + | |
673 | 673 | | |
674 | 674 | | |
675 | 675 | | |
676 | | - | |
677 | | - | |
678 | | - | |
679 | | - | |
680 | | - | |
681 | | - | |
682 | | - | |
683 | | - | |
684 | | - | |
685 | | - | |
686 | | - | |
687 | | - | |
688 | | - | |
689 | | - | |
690 | | - | |
691 | | - | |
692 | | - | |
693 | | - | |
694 | | - | |
695 | | - | |
| 676 | + | |
696 | 677 | | |
697 | 678 | | |
698 | 679 | | |
| |||
1244 | 1225 | | |
1245 | 1226 | | |
1246 | 1227 | | |
1247 | | - | |
| 1228 | + | |
1248 | 1229 | | |
1249 | | - | |
| 1230 | + | |
1250 | 1231 | | |
1251 | | - | |
1252 | | - | |
1253 | | - | |
1254 | | - | |
1255 | | - | |
1256 | | - | |
1257 | | - | |
1258 | | - | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
1259 | 1238 | | |
1260 | 1239 | | |
1261 | 1240 | | |
| |||
1266 | 1245 | | |
1267 | 1246 | | |
1268 | 1247 | | |
1269 | | - | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
1270 | 1251 | | |
1271 | 1252 | | |
1272 | | - | |
| 1253 | + | |
| 1254 | + | |
1273 | 1255 | | |
1274 | 1256 | | |
1275 | 1257 | | |
1276 | 1258 | | |
1277 | 1259 | | |
1278 | 1260 | | |
1279 | | - | |
| 1261 | + | |
1280 | 1262 | | |
1281 | 1263 | | |
1282 | 1264 | | |
1283 | 1265 | | |
1284 | 1266 | | |
1285 | | - | |
| 1267 | + | |
1286 | 1268 | | |
1287 | 1269 | | |
1288 | 1270 | | |
| |||
1304 | 1286 | | |
1305 | 1287 | | |
1306 | 1288 | | |
1307 | | - | |
| 1289 | + | |
| 1290 | + | |
1308 | 1291 | | |
1309 | 1292 | | |
1310 | 1293 | | |
| |||
2000 | 1983 | | |
2001 | 1984 | | |
2002 | 1985 | | |
2003 | | - | |
| 1986 | + | |
2004 | 1987 | | |
2005 | 1988 | | |
2006 | 1989 | | |
| |||
2011 | 1994 | | |
2012 | 1995 | | |
2013 | 1996 | | |
2014 | | - | |
| 1997 | + | |
2015 | 1998 | | |
| 1999 | + | |
| 2000 | + | |
| 2001 | + | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
2016 | 2005 | | |
2017 | | - | |
2018 | | - | |
2019 | | - | |
2020 | | - | |
2021 | 2006 | | |
2022 | 2007 | | |
2023 | 2008 | | |
2024 | 2009 | | |
2025 | | - | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
| 2016 | + | |
| 2017 | + | |
| 2018 | + | |
| 2019 | + | |
| 2020 | + | |
| 2021 | + | |
2026 | 2022 | | |
| 2023 | + | |
2027 | 2024 | | |
2028 | 2025 | | |
2029 | 2026 | | |
| |||
2033 | 2030 | | |
2034 | 2031 | | |
2035 | 2032 | | |
| 2033 | + | |
2036 | 2034 | | |
2037 | 2035 | | |
2038 | 2036 | | |
| |||
2041 | 2039 | | |
2042 | 2040 | | |
2043 | 2041 | | |
2044 | | - | |
| 2042 | + | |
| 2043 | + | |
2045 | 2044 | | |
2046 | 2045 | | |
2047 | 2046 | | |
| |||
2051 | 2050 | | |
2052 | 2051 | | |
2053 | 2052 | | |
2054 | | - | |
| 2053 | + | |
| 2054 | + | |
2055 | 2055 | | |
2056 | 2056 | | |
2057 | 2057 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
| |||
312 | 313 | | |
313 | 314 | | |
314 | 315 | | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
315 | 371 | | |
316 | 372 | | |
317 | 373 | | |
| |||
320 | 376 | | |
321 | 377 | | |
322 | 378 | | |
| 379 | + | |
323 | 380 | | |
324 | 381 | | |
325 | 382 | | |
0 commit comments