Skip to content

Conversation

@xymus
Copy link
Contributor

@xymus xymus commented Oct 3, 2025

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.

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://98925842
@xymus xymus requested a review from a team as a code owner October 3, 2025 17:15
@xymus xymus added 🍒 release cherry pick Flag: Release branch cherry picks swift 6.2 labels Oct 3, 2025
@xymus
Copy link
Contributor Author

xymus commented Oct 3, 2025

@swift-ci Please test

@xymus
Copy link
Contributor Author

xymus commented Oct 3, 2025

@swift-ci Please test macOS

@xymus
Copy link
Contributor Author

xymus commented Oct 6, 2025

@swift-ci Please test Linux

@xymus
Copy link
Contributor Author

xymus commented Oct 6, 2025

@swift-ci Please test macOS

@xymus xymus merged commit 6c88224 into swiftlang:release/6.2 Oct 7, 2025
5 checks passed
@xymus xymus deleted the deser-objc-conformance-6.2 branch October 7, 2025 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🍒 release cherry pick Flag: Release branch cherry picks swift 6.2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants