Skip to content

[pull] swiftwasm from main #2440

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 23 commits into from
Jan 7, 2021
Merged

[pull] swiftwasm from main #2440

merged 23 commits into from
Jan 7, 2021

Conversation

pull[bot]
Copy link

@pull pull bot commented Jan 7, 2021

See Commits and Changes for more details.


Created by pull[bot]

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

DougGregor and others added 13 commits January 5, 2021 16:59
Infer actor isolation from the overridden declaration unless some other
isolation attribute was explicitly specified directly on that
declaration. This allows type- and extension-level annotations with
a global actor to not break overrides.
…er`.

`@asyncHandler` methods can override with a completely different actor
isolation because they will hop to the appropriate actor themselves.
Therefore, allow differing actor isolation when an `@asyncHandler`
method overrides another method, and don't propagate the actor
isolation from the overridden method to the overriding `@asyncHandler`
method.
…rement

Records protocol requirement associated with a particular type in
the constraint system, also useful to track parent conformance
for conditional requirements.
… conformances and conditional requirements
…tatement/expression

Make sure that "affected" declaration is recognized as the one
to which result type is attached to if the requirement failure
is originated in contextual type of `return` statement/expression.

Resolves: SR-13992
Resolves: rdar://72819046
Resolves: rdar://57789606
…ingContinuation

A handy overload that allows one to return a Result<> to
a continuation without needing to manually unwrap it in client code.

Resolves rdar://71870249
Implementation is left as a TODO for now.

Resolves rdar://72161578
Partially resolves rdar://72105129
The C++ interop modules require C++ support.  Explicitly require C++ as
a feature when building these modules.  This has no impact on the
changes as all the tests enable C++ already.
…de-actor-isolation-fixes

Concurrency override actor isolation fixes
- `Mangle::ASTMangler::mangleAutoDiffDerivativeFunction()` and `Mangle::ASTMangler::mangleAutoDiffLinearMap()` accept original function declarations and return a mangled name for a derivative function or linear map. This is called during SILGen and TBDGen.
- `Mangle::DifferentiationMangler` handles differentiation function mangling in the differentiation transform. This part is necessary because we need to perform demangling on the original function and remangle it as part of a differentiation function mangling tree in order to get the correct substitutions in the mangled derivative generic signature.

A mangled differentiation function name includes:
- The original function.
- The differentiation function kind.
- The parameter indices for differentiation.
- The result indices for differentiation.
- The derivative generic signature.
eeckstein and others added 10 commits January 7, 2021 12:52
I didn't add a test, because there is a performance problem in PredictableMemoryAccessOptimizations.
Until this is fixed, the test would take too long.

rdar://71040556
DefiniteInitialization: remove the limit of 64k aggregate elements.
[AutoDiff] Mangle derivative functions and linear maps
[Diagnostics] Special case requirement failures related to `return` statement/expression
…optional

This is a follow-up to swiftlang#35072.

Let's wait until both sides are equally optional before attempting
`.rawValue` fix, otherwise there is a risk that a valid code would
get diagnosed.

Extend test coverage of possible `.rawValue` situations to
contextual and argument positions to make sure that valid
code is accepted.

Resolves: SR-13951
Disable stability-stdlib-abi-without-asserts.test (72856256)
[concurrency] partially implement @mainactor + convenience method for UnsafeThrowingContinuation
Interop/Cxx: explicitly require `C++` for modules
[Diagnostics] Attempt `.rawValue` fix only if both types are equally …
@pull pull bot merged commit d48c913 into swiftwasm Jan 7, 2021
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