Skip to content

Conversation

@CodaFi
Copy link
Contributor

@CodaFi CodaFi commented May 12, 2022

Cherry picked from #58412 (and #58552)


Augment Remote Mirrors to read the structure of the metadata for generalized existential types. This involved plumbing a generic notion of a runtime generic signature and substitution map through, so most of this patch is incidental infrastructure.

CodaFi added 8 commits May 12, 2022 10:31
Tidy up the metadata definitions.

* Generalize a number of metadata kinds for out-of-process clients
* Introduce conveniences to make runtime lookups easier
* Introduce TargetExistentialTypeExpression to TrailingObjects stops complaining about OverloadTokens being ambiguous

Note that there is no impact on the layout of the metadata - the changes here are all ABI-compatible.
Add requirements to the Builder concept to construct generic signatures and substitution maps. Then introduce a `subst` requirement that uses the substitution map to call through to the builder's notion of type (ref) substitution.

This infrastructure is sufficient to model the notion of a RuntimeGenericSignature.
Reconstitute the ExistentialType wrapper around a (parameterized) protocol type. The AST needs to be remodeled here before we can remove this.
Teach Remote Mirrors to read extended existential type metadata.
There's no ambiguity here that can be resolved so just drop it.
@CodaFi CodaFi added the r5.7 label May 12, 2022
@CodaFi CodaFi requested review from airspeedswift and hborla May 12, 2022 17:33
@CodaFi CodaFi requested a review from a team as a code owner May 12, 2022 17:33
@CodaFi
Copy link
Contributor Author

CodaFi commented May 12, 2022

@swift-ci test

1 similar comment
@CodaFi
Copy link
Contributor Author

CodaFi commented May 13, 2022

@swift-ci test

@CodaFi CodaFi merged commit 4148ef1 into swiftlang:release/5.7-04182022 May 13, 2022
@CodaFi CodaFi deleted the click-kcilc branch May 13, 2022 18:34
@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.

3 participants