Commit 4f661ac
committed
fix(semantic): report every invalid associated-item constraint, not just the first
While collecting a generic parameter's associated-item constraints, the
`NonTraitTypeConstrained` arm did `return map`, abandoning the rest of the
constraint list after the first bad one. So `+MyTrait<T>[Bogus1: u8, Bogus2: u16]`
reported E2189 only for `Bogus1` and silently dropped `Bogus2`.
Replace `return map` with `continue`, matching the sibling arm, so each
invalid constraint is diagnosed.
Adds an `expr/test_data/generics` golden (gated on the experimental
`associated_item_constraints` feature) asserting both `Bogus1` and `Bogus2`
are reported.1 parent ad70feb commit 4f661ac
2 files changed
Lines changed: 39 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
754 | 754 | | |
755 | 755 | | |
756 | 756 | | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
713 | 713 | | |
714 | 714 | | |
715 | 715 | | |
716 | | - | |
| 716 | + | |
717 | 717 | | |
718 | 718 | | |
719 | 719 | | |
| |||
0 commit comments