Skip to content

Serialization: Deserialize opaque type xrefs from the right extension module. #25600

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
Jun 19, 2019

Conversation

jckarter
Copy link
Contributor

When deserializing an opaque type xref inside an extension context, we were looking
incorrectly in the base module of the type being extended, rather than in the module
of the extension, where the opaque type would really be. Fixes rdar://problem/51775500.

This includes a small refactoring of OpaqueTypeDecl deserialization to break the inevitable
cycle between deserializing the namingDecl, and the namingDecl turning around and re-
deserializing its opaque return type. This is NFC but avoids some unnecessary work.

@jckarter jckarter requested a review from jrose-apple June 19, 2019 04:49
@jckarter
Copy link
Contributor Author

@swift-ci Please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 59a45e6e242ecdf5d9a7e1e392cca8f3b0a25967

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 59a45e6e242ecdf5d9a7e1e392cca8f3b0a25967

… module.

When deserializing an opaque type xref inside an extension context, we were looking
incorrectly in the base module of the type being extended, rather than in the module
of the extension, where the opaque type would really be. Fixes rdar://problem/51775500.

This includes a small refactoring of OpaqueTypeDecl deserialization to break the inevitable
cycle between deserializing the namingDecl, and the namingDecl turning around and re-
deserializing its opaque return type. This is NFC but avoids some unnecessary work.
@jckarter jckarter force-pushed the opaque-xref-extension-module branch from 59a45e6 to 70aba4d Compare June 19, 2019 16:47
@jckarter
Copy link
Contributor Author

@swift-ci Please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 59a45e6e242ecdf5d9a7e1e392cca8f3b0a25967

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 70aba4d

@jckarter
Copy link
Contributor Author

@swift-ci Please test Linux

@jckarter jckarter merged commit e71bfd3 into swiftlang:master Jun 19, 2019
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.

3 participants