-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[5.1] [Serialization] Teach serialization to get a generic signature from opaque types #27119
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
[5.1] [Serialization] Teach serialization to get a generic signature from opaque types #27119
Conversation
@swift-ci please test |
Build failed |
Build failed |
…YPE_PATH_PIECE We might have an opaque return type path piece after a generic type param type, so make sure to emit the XREF entry before the opaque return type path piece as well. Fixes rdar://53958358
…paque types Previously, if we had an XREF to an opaque type, we would fail trying to get the generic signature from that type. Fixes rdar://53958358
dd0db3b
to
b59a33e
Compare
@swift-ci please test |
Build failed |
Build failed |
@swift-ci please nominate |
@tkremenek Looks like we never got this in. Can you approve this PR as well? (We pulled PR #27141 into swift-5.1-branch-08-28-2019) |
@tkremenek Ping |
Description: Fixes incorrect serialization of opaque return types for @inlinable code, and teaches serialization how to deserialize a generic signature from an opaque result type.
Scope of the issue: This prevents returning opaque result types from some @inlinable declarations when in incremental mode
Risk: Low, the patch ensures we start a cross-reference correctly regardless if the return type of a function is an opaque return type, and that we're able to deserialize it
Testing: Manually compiling projects using SwiftUI with @inlinable declarations and CI testing of reduced reproduction cases.
Reviewed-by: @jckarter
Radar: rdar://53958358