Commit 1c44857
authored
Auto merge of #37791 - petrochenkov:where, r=nikomatsakis
Support `?Sized` in where clauses
Implemented as described in #20503 (comment) - `?Trait` bounds are moved on type parameter definitions when possible, reported as errors otherwise.
(It'd be nice to unify bounds and where clauses in HIR, but this is mostly blocked by rustdoc now - it needs to render bounds in pleasant way and the best way to do it so far is to mirror what was written in source code.)
Fixes #20503
r? @nikomatsakisFile tree
6 files changed
+161
-35
lines changed- src
- librustc_passes
- librustc/hir
- libsyntax/parse
- test/compile-fail
6 files changed
+161
-35
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
49 | 50 | | |
50 | 51 | | |
51 | 52 | | |
| |||
508 | 509 | | |
509 | 510 | | |
510 | 511 | | |
511 | | - | |
| 512 | + | |
512 | 513 | | |
513 | 514 | | |
514 | 515 | | |
| |||
518 | 519 | | |
519 | 520 | | |
520 | 521 | | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
521 | 527 | | |
522 | 528 | | |
523 | 529 | | |
524 | | - | |
| 530 | + | |
525 | 531 | | |
526 | 532 | | |
527 | 533 | | |
528 | 534 | | |
529 | 535 | | |
530 | 536 | | |
531 | | - | |
532 | | - | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
533 | 542 | | |
534 | 543 | | |
535 | 544 | | |
| |||
561 | 570 | | |
562 | 571 | | |
563 | 572 | | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
564 | 612 | | |
565 | | - | |
| 613 | + | |
566 | 614 | | |
567 | 615 | | |
568 | 616 | | |
| |||
588 | 636 | | |
589 | 637 | | |
590 | 638 | | |
591 | | - | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
592 | 644 | | |
593 | 645 | | |
594 | 646 | | |
| |||
677 | 729 | | |
678 | 730 | | |
679 | 731 | | |
680 | | - | |
| 732 | + | |
681 | 733 | | |
682 | 734 | | |
683 | 735 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
89 | 102 | | |
90 | 103 | | |
91 | 104 | | |
| |||
130 | 143 | | |
131 | 144 | | |
132 | 145 | | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
133 | 150 | | |
134 | 151 | | |
135 | 152 | | |
| |||
189 | 206 | | |
190 | 207 | | |
191 | 208 | | |
192 | | - | |
| 209 | + | |
| 210 | + | |
193 | 211 | | |
194 | 212 | | |
195 | 213 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | 91 | | |
99 | 92 | | |
100 | 93 | | |
| |||
1041 | 1034 | | |
1042 | 1035 | | |
1043 | 1036 | | |
1044 | | - | |
| 1037 | + | |
1045 | 1038 | | |
1046 | 1039 | | |
1047 | 1040 | | |
| |||
1059 | 1052 | | |
1060 | 1053 | | |
1061 | 1054 | | |
1062 | | - | |
| 1055 | + | |
1063 | 1056 | | |
1064 | 1057 | | |
1065 | 1058 | | |
| |||
1271 | 1264 | | |
1272 | 1265 | | |
1273 | 1266 | | |
1274 | | - | |
| 1267 | + | |
1275 | 1268 | | |
1276 | 1269 | | |
1277 | 1270 | | |
| |||
4148 | 4141 | | |
4149 | 4142 | | |
4150 | 4143 | | |
4151 | | - | |
4152 | | - | |
4153 | | - | |
| 4144 | + | |
4154 | 4145 | | |
4155 | 4146 | | |
4156 | 4147 | | |
4157 | 4148 | | |
4158 | | - | |
| 4149 | + | |
4159 | 4150 | | |
4160 | 4151 | | |
4161 | 4152 | | |
4162 | 4153 | | |
4163 | 4154 | | |
4164 | 4155 | | |
4165 | 4156 | | |
4166 | | - | |
4167 | | - | |
4168 | | - | |
| 4157 | + | |
4169 | 4158 | | |
4170 | 4159 | | |
4171 | 4160 | | |
| |||
4187 | 4176 | | |
4188 | 4177 | | |
4189 | 4178 | | |
4190 | | - | |
4191 | | - | |
4192 | | - | |
4193 | | - | |
4194 | | - | |
4195 | | - | |
4196 | | - | |
| 4179 | + | |
4197 | 4180 | | |
4198 | 4181 | | |
4199 | 4182 | | |
| |||
4215 | 4198 | | |
4216 | 4199 | | |
4217 | 4200 | | |
4218 | | - | |
| 4201 | + | |
4219 | 4202 | | |
4220 | 4203 | | |
4221 | 4204 | | |
| |||
4439 | 4422 | | |
4440 | 4423 | | |
4441 | 4424 | | |
4442 | | - | |
| 4425 | + | |
4443 | 4426 | | |
4444 | 4427 | | |
4445 | 4428 | | |
| |||
4901 | 4884 | | |
4902 | 4885 | | |
4903 | 4886 | | |
4904 | | - | |
| 4887 | + | |
4905 | 4888 | | |
4906 | 4889 | | |
4907 | 4890 | | |
| |||
| 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 | + | |
| 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 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 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 | + | |
0 commit comments