Skip to content

Merge main 2022-03-11 #4362

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 107 commits into from
Mar 11, 2022
Merged

Merge main 2022-03-11 #4362

merged 107 commits into from
Mar 11, 2022

Conversation

kateinoigakukun
Copy link
Member

No description provided.

cachemeifyoucan and others added 30 commits March 3, 2022 13:47
Remove the dependency of APIJSON tests on SDK to improve stability and
speed.

rdar://89448415
In Python 3, subprocess output is read as binary data by default, which isn’t what we want.

Instead of reading process output as byte strings, then manually decoding them into strings, simply pass `text=True` to functions in the `subprocess` module, so that we get properly decoded strings right out the box.

This fixes places that forget to do the decoding step — most especially, the `update-checkout` script. That script prints Git output as byte strings, which leads to unreadable results.

Additionally, in shell.run, use the same pipe for capturing both stdout and stderr. The distinction is pretty pointless in this use case; however, keeping the two channels separate means that we lose the original ordering of printed messages, which does matter.
These are not an issue because adding a @_marker protocol conformance has no ABI impact - the protocol is not available at runtime.
The arglist didn't exist when I originally wrote this. Most of the
assertions were there to check my assumptions about the dyn-casts that
were being performed originally. In a non-asserts build, the dyn-casts
would not crash, but would emit the `await` insertion fix-it into the
wrong location. In an asserts build, it would crash instead.
I haven't heard about crashes, or misplaced fix-its from this for
roughly a year now, so I think it's safe to clean it up.

I'm keeping the `parent == nullptr` check since that would indicate an
issue in the implementation of `isEffectAnchor`.
…enExistentialType

... rather than re-implementing it.
We don't want to treat opaque types differently here; ones that we want to
treat differently have already been opened.
…types

[test] XFAIL dependent-types.swift on 32 bit platforms
…#41713)

* Enable Sendability for AsyncStream and AsyncThrowingStream

* Move removeFirst to hit all cases where the continuations are not empty
…ng. Consolidate parsing code shared between @_originallyDefinedIn and @_backDeploy.
…bfc4c8e9f81016fdcc3537a

[NFC][move-function-addr] Add a small comment to the checker.
[APIJSON] Impromve tests to it doesn't rely on SDK content
…o-update-example-cxx-module

 [cxx-interop] Fix typo in getting started, and update example for creating the cxx module
…canonical-type

Reenable calls to getMinimalCanonicalType() in re-declaration checking
…eft-canonical normal form

This brings back the code I deleted in 1bf6102
but repurposes it to simplify the replacement paths recorded for
redundant rewrite rules only.
DougGregor and others added 26 commits March 9, 2022 17:51
…erence-fixes

Sema: Fix a couple of issues related to variance of protocol 'Self'
[docs] NFC, fix typo CppInteropability -> CppInteroperability
Add a build option for the concurrency tracing feature.
This test doesn't actually rely on the C++ stdlib, I think it was disabled accidentally.

It currently passes on Linux.
…wiftlang#41616)

* [Distributed] dist actor always has default executor (currently)

* [Distributed] extra test for missing makeEncoder

* [DistributedDecl] Add DistributedActorSystem to known SDK types

* [DistributedActor] ok progress on getting the system via witness

* [Distributed] allow hop-to `let any: any X` where X is DistActor

* [Distributed] AST: Add an accessor to determine whether type is distributed actor

- Classes have specialized method on their declarations
- Archetypes and existentials check their conformances for
  presence of `DistributedActor` protocol.

* [Distributed] AST: Account for distributed members declared in class extensions

`getConcreteReplacementForProtocolActorSystemType` should use `getSelfClassDecl`
otherwise it wouldn't be able to find actor if the member is declared in an extension.

* [Distributed] fix ad-hoc requirement checks for 'mutating'

[PreChecker] LookupDC might be null, so account for that

* [Distributed] Completed AST synthesis for dist thunk

* [Distributed][ASTDumper] print pretty distributed in right color in AST dumps

* wip on making the local/remote calls

* using the _local to mark the localCall as known local

* [Distributed] fix passing Never when not throwing

* fix lifetime of mangled string

* [Distributed] Implement recordGenericSubstitution

* [Distributed] Dont add .

* [Distributed] dont emit thunk when func broken

* [Distributed] fix tests; cleanups

* [Distributed] cleanup, move is... funcs to DistributedDecl

* [Distributed] Remove SILGen for distributed thunks, it is in Sema now!

* [Distributed]  no need to check stored props in protocols

* remote not used flag

* fix mangling test

* [Distributed] Synthesis: Don't re-use AST nodes for `decodeArgument` references

* [Distributed] Synthesis: Make sure that each thunk parameter has an internal name

* [Distributed/Synthesis] NFC: Add a comment regarding empty internal parameter names

* [Distributed] NFC: Adjust distributed thunk manglings in the accessor section test-cases

* cleanup

* [Distributed] NFC: Adjust distributed thunk manglings in the accessor thunk test-cases

* review follow ups

* xfail some linux tests for now so we can land the AST thunk

* Update distributed_actor_remote_functions.swift

Co-authored-by: Pavel Yaskevich <xedin@apache.org>
... because we need to be able to hop to their actors.
Fixes rdar://86753732.
…ess. (swiftlang#41173)

As per SR-14137 this caches entries in ImportedDecls even when the
import failed.

Also have to mention I did this based on Thomas's PR swiftlang#36747.

This should help us better handle complex templates and dependant types.
….swift

Add testcase for fixed circular reference issue: rdar://89921930
…32bit-simulators

[Distributed] NFC: Allow 64-bit distributed test only on x86_64 and arm64
[Distributed] Disable some tests on optimized builds until we fix
[Distributed] better diagnostics for missing actor system typealias
@MaxDesiatov MaxDesiatov enabled auto-merge March 11, 2022 15:08
@MaxDesiatov MaxDesiatov merged commit 95d2bac into swiftwasm Mar 11, 2022
@kateinoigakukun kateinoigakukun deleted the katei/merge-main-2022-03-11 branch April 20, 2022 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.