Skip to content

[5.7] Generalize the Mangling of Constrained Existential Types #59834

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 2 commits into from
Jul 1, 2022

Conversation

CodaFi
Copy link
Contributor

@CodaFi CodaFi commented Jul 1, 2022

Cherry picked from #59763


Upgrade the old mangling from a list of argument types to a
list of requiremnets. For now, only same-type requirements
may actually be mangled since those are all that are available
to the surface language.

Reconstruction of existential types now consists of demangling (a list of)
base protocol(s), decoding the constraints, and converting the same-type
constraints back into a list of arguments.

rdar://96088707

Upgrade the old mangling from a list of argument types to a
list of requiremnets. For now, only same-type requirements
may actually be mangled since those are all that are available
to the surface language.

Reconstruction of existential types now consists of demangling (a list of)
base protocol(s), decoding the constraints, and converting the same-type
constraints back into a list of arguments.

rdar://96088707
@CodaFi CodaFi added the r5.7 label Jul 1, 2022
@CodaFi CodaFi requested a review from a team as a code owner July 1, 2022 06:13
@CodaFi
Copy link
Contributor Author

CodaFi commented Jul 1, 2022

@swift-ci test

@CodaFi
Copy link
Contributor Author

CodaFi commented Jul 1, 2022

@swift-ci test

@CodaFi CodaFi merged commit fc85f1b into swiftlang:release/5.7 Jul 1, 2022
@CodaFi CodaFi deleted the mangle-tangle branch July 1, 2022 22:13
@AnthonyLatsis AnthonyLatsis added 🍒 release cherry pick Flag: Release branch cherry picks swift 5.7 labels Jan 9, 2023
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 5.7
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants