Skip to content

Conversation

pull[bot]
Copy link

@pull pull bot commented Apr 30, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

lorentey and others added 20 commits April 25, 2022 15:18
As discussed on the forum, `BidirectionalCollection` requirements as
currently stated can be interpreted to forbid conforming types from
accepting indices that lie between valid (i.e., reachable) indices
in the collection. Among other undesirable effects, this
interpretation would render SE-0180 (String.Index overhaul)
incompatible with these requirements.

Update the wording to clarify that the requirements only apply to
valid indices. (Collection protocols do not constrain the behavior of
invalid indices — it’s up to individual collection types to implement
them as they wish.)

https://forums.swift.org/t/string-index-unification-vs-bidirectionalcollection-requirements/55946
rdar://92297280
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.
If we encounter any multi-paylaod enum descriptors with bad data, we can end up writing off the end of the bitmask allocation, causing heap corruption. Add range checks to let us fail gracefully instead.

rdar://91423283
The back deployment runtime does not contain the symbols necessary
to execute this test. Mark it unsupported.
[nfc] [cxx-interop] Disable `ReadAccessor` benchmark.
[stdlib][docs] Clarify BidirectionalCollection requirements
[RemoteMirror] Add bounds checking to BitMask operations.
Gate Clock Runtime Test on Current Runtimes
[Remote AST] Support Parameterized Existential Types
[AutoDiff][RequirementMachine] Regression test for S4TF RNN/Sequential crasher caused by GenericSignatureBuilder
There's no ambiguity here that can be resolved so just drop it.
Remove Needless Template Dependent Access
@kateinoigakukun kateinoigakukun merged commit 6abc607 into swiftwasm Apr 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants