Skip to content

Serialization: Recover from errors under loadObjCMethods #77285

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 7, 2024

Conversation

xymus
Copy link
Contributor

@xymus xymus commented Oct 29, 2024

The diagnostics about unintended override of Objective-C methods deserialize more decls than strictly necessary. Any of these could trigger a deserialization failure if they rely on hidden dependencies. Simply ignore methods failing to deserialize instead of crashing.

We could improve further if necessary, this logic may ignore methods that are actually colliding. Instead we could put more information in the lookup table to avoid the need to fully deserializing the decls.

rdar://138764733

The diagnostics about unintended override of Objective-C methods
deserializes more decls than strictly necessary. Any of these could
trigger a deserialization failure if they rely on missing dependencies.
Simply ignore methods failing to deserialize instead of crashing.

We could do better here as this logic may ignore methods that are actually
colliding. Instead we could put more information in the lookup table to
avoid the need for fully deserializing the decl.

rdar://138764733
@xymus
Copy link
Contributor Author

xymus commented Oct 29, 2024

@swift-ci Please smoke test

@xymus
Copy link
Contributor Author

xymus commented Oct 30, 2024

@swift-ci Please smoke test Windows

1 similar comment
@xymus
Copy link
Contributor Author

xymus commented Nov 6, 2024

@swift-ci Please smoke test Windows

@xymus xymus merged commit 058c14c into swiftlang:main Nov 7, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant