Commit 1d035f2
committed
Serialization: Align conformance recovery logic across modes
Always give up early when attempting to deserialize a protocol
conformance broken by a context change. Don't attempt to replace missing
members of the conformance signature with invalid one, just mark the
whole protocol conformance as invalid.
The previous recovery logic, only for SourceKit mode and LLDB, was
inserting invalid conformances in the signature instead of dropping the
whole protocol conformance. It lead to failures later in the same
`finishNormalConformance` when accessing the invalid conformances.
rdar://989258421 parent dbedb21 commit 1d035f2
1 file changed
+16
-12
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1006 | 1006 | | |
1007 | 1007 | | |
1008 | 1008 | | |
1009 | | - | |
1010 | | - | |
1011 | | - | |
1012 | | - | |
1013 | | - | |
1014 | | - | |
1015 | | - | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
1016 | 1016 | | |
1017 | 1017 | | |
1018 | 1018 | | |
| |||
8899 | 8899 | | |
8900 | 8900 | | |
8901 | 8901 | | |
8902 | | - | |
8903 | | - | |
8904 | | - | |
| 8902 | + | |
| 8903 | + | |
| 8904 | + | |
8905 | 8905 | | |
| 8906 | + | |
| 8907 | + | |
| 8908 | + | |
| 8909 | + | |
8906 | 8910 | | |
8907 | 8911 | | |
8908 | 8912 | | |
8909 | 8913 | | |
8910 | 8914 | | |
8911 | 8915 | | |
8912 | 8916 | | |
8913 | | - | |
8914 | 8917 | | |
8915 | 8918 | | |
8916 | 8919 | | |
| 8920 | + | |
8917 | 8921 | | |
8918 | | - | |
| 8922 | + | |
8919 | 8923 | | |
8920 | 8924 | | |
8921 | 8925 | | |
| |||
0 commit comments