Commit 74b29ca
committed
GSB: Fix bug with concrete same-type requirements to self-conforming protocols
If a type parameter both conformed to Error and was required to equal
Error, we didn't record a concrete source for the Error conformance.
This still produced the right minimized signature because the code in
enumerateRequirements() happens to skip all other requirements if an
equivalence class was concrete, but we shouldn't rely on that.
The bug also meant that we didn't diagnose the redundant conformance
requirement.1 parent 389a082 commit 74b29ca
File tree
2 files changed
+24
-14
lines changed- lib/AST
- test/Generics
2 files changed
+24
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2607 | 2607 | | |
2608 | 2608 | | |
2609 | 2609 | | |
2610 | | - | |
2611 | | - | |
2612 | | - | |
2613 | | - | |
2614 | | - | |
2615 | | - | |
2616 | | - | |
2617 | | - | |
2618 | | - | |
| 2610 | + | |
2619 | 2611 | | |
2620 | | - | |
2621 | | - | |
2622 | | - | |
2623 | | - | |
2624 | | - | |
| 2612 | + | |
| 2613 | + | |
| 2614 | + | |
| 2615 | + | |
| 2616 | + | |
| 2617 | + | |
| 2618 | + | |
| 2619 | + | |
| 2620 | + | |
| 2621 | + | |
| 2622 | + | |
| 2623 | + | |
| 2624 | + | |
| 2625 | + | |
2625 | 2626 | | |
2626 | 2627 | | |
2627 | 2628 | | |
| |||
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
0 commit comments