Commit 44e794f
authored
Rollup merge of #108553 - compiler-errors:non-lt-late-bound-in-anon-ct, r=petrochenkov
Deny capturing late-bound non-lifetime param in anon const
Introduce a new AnonConstBoundary so we can detect when we capture a late-bound non-lifetime param with `non_lifetime_binders` enabled.
In the future, we could technically do something like introduce an early-bound parameter on the anon const, and stick the late-bound param in its substs (kinda like how we turn late-bound lifetimes in opaques into early-bound ones). But for now, just deny it so we don't ICE.
Fixes #108191File tree
5 files changed
+121
-5
lines changed- compiler/rustc_hir_analysis
- locales
- src
- collect
- tests/ui/traits/non_lifetime_binders
5 files changed
+121
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
Lines changed: 57 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
| |||
161 | 163 | | |
162 | 164 | | |
163 | 165 | | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
164 | 175 | | |
165 | 176 | | |
166 | 177 | | |
| |||
211 | 222 | | |
212 | 223 | | |
213 | 224 | | |
| 225 | + | |
214 | 226 | | |
215 | 227 | | |
216 | 228 | | |
| |||
312 | 324 | | |
313 | 325 | | |
314 | 326 | | |
315 | | - | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
316 | 330 | | |
317 | 331 | | |
318 | 332 | | |
| |||
1029 | 1043 | | |
1030 | 1044 | | |
1031 | 1045 | | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
1032 | 1052 | | |
1033 | 1053 | | |
1034 | 1054 | | |
| |||
1275 | 1295 | | |
1276 | 1296 | | |
1277 | 1297 | | |
1278 | | - | |
| 1298 | + | |
| 1299 | + | |
1279 | 1300 | | |
1280 | 1301 | | |
1281 | 1302 | | |
| |||
1340 | 1361 | | |
1341 | 1362 | | |
1342 | 1363 | | |
1343 | | - | |
| 1364 | + | |
| 1365 | + | |
1344 | 1366 | | |
1345 | 1367 | | |
1346 | 1368 | | |
| |||
1359 | 1381 | | |
1360 | 1382 | | |
1361 | 1383 | | |
| 1384 | + | |
1362 | 1385 | | |
1363 | 1386 | | |
1364 | 1387 | | |
| |||
1392 | 1415 | | |
1393 | 1416 | | |
1394 | 1417 | | |
| 1418 | + | |
| 1419 | + | |
| 1420 | + | |
| 1421 | + | |
| 1422 | + | |
1395 | 1423 | | |
1396 | 1424 | | |
1397 | 1425 | | |
1398 | 1426 | | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
| 1430 | + | |
| 1431 | + | |
| 1432 | + | |
| 1433 | + | |
| 1434 | + | |
| 1435 | + | |
| 1436 | + | |
| 1437 | + | |
| 1438 | + | |
| 1439 | + | |
| 1440 | + | |
| 1441 | + | |
| 1442 | + | |
| 1443 | + | |
| 1444 | + | |
| 1445 | + | |
| 1446 | + | |
| 1447 | + | |
1399 | 1448 | | |
1400 | 1449 | | |
1401 | 1450 | | |
| |||
1474 | 1523 | | |
1475 | 1524 | | |
1476 | 1525 | | |
1477 | | - | |
| 1526 | + | |
| 1527 | + | |
1478 | 1528 | | |
1479 | 1529 | | |
1480 | 1530 | | |
| |||
1710 | 1760 | | |
1711 | 1761 | | |
1712 | 1762 | | |
1713 | | - | |
| 1763 | + | |
| 1764 | + | |
| 1765 | + | |
1714 | 1766 | | |
1715 | 1767 | | |
1716 | 1768 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
381 | 381 | | |
382 | 382 | | |
383 | 383 | | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
Lines changed: 27 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 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
0 commit comments