Alexis Laferrière
4209844dfd
Tests: disable Distributed/distributed_actor_to_actor.swift on arm64e
2024-03-13 10:22:03 -07:00
Konrad `ktoso` Malawski
27702fa115
[Distributed][Macro] Handle more cases in distributed protocol macro ( #72177 )
2024-03-12 02:12:31 -07:00
Konrad `ktoso` Malawski
143d8f9801
[Distributed] Handle distributed thunk requirements/witnesses ( #72151 )
...
Co-authored-by: Pavel Yaskevich <pyaskevich@apple.com >
2024-03-11 02:07:22 -07:00
Konrad `ktoso` Malawski
b7ff16baf7
[Distributed] Only synthesize Codable for DA where the ID is Codable ( #72081 )
2024-03-07 22:40:00 -08:00
Slava Pestov
5afdb987e2
Merge pull request #72146 from slavapestov/ncgenerics-fixes-9
...
Non-copyable generics fixes, part 9
2024-03-07 22:14:33 -05:00
Slava Pestov
af8c8f1671
Sema: Remove non-experimental associated type inference
2024-03-07 17:30:17 -05:00
Slava Pestov
41df661160
AST: Use a builtin conformance for unconditional Copyable/Escapable
...
This generalizes what we were already doing for classes.
2024-03-07 15:07:47 -05:00
Pavel Yaskevich
7b7716cda9
[AST/Sema] Distributed: Introduced unified way to retrieve serialization requirements for actors
2024-03-06 13:51:14 -08:00
Konrad `ktoso` Malawski
746521b31c
Merge branch 'main' into distributed-protocol-requirement-accessors
2024-03-06 12:52:41 +09:00
Pavel Yaskevich
e3dbcd01af
[Tests] Distributed: XFAIL protocol requirement accessor test on Windows
2024-03-05 13:31:53 -08:00
Pavel Yaskevich
a4c0d84f7e
[Tests] Distributed: Remove workaround for lack of requirement accessors
2024-03-04 15:59:57 -08:00
John McCall
43b9b28797
Fix a pair of bugs with @isolated(any) closure erasure.
...
First, and I really should've checked this, but global actors do not
require `shared` to return `Self`; adjust the logic to propagate the
right formal type to the erasure logic.
Second, handle attempts to erase the isolation of something isolated to
a distributed actor using the magic Actor conformance that Doug added.
This only works when the actor is local, but it shouldn't be difficult to
enforce that we only attempt to erase isolation what that's true --- we
need to prevent partial application of distributed actors, and we need to
disallow explicit isolated captures of distributed actors when we're not
currently isolated to it. Otherwise, it's not possible to get an
@isolated(any) function value with an isolation that isn't the current
function's isolation, which means it always has to be local.
Fixed rdar://123734019
2024-03-04 04:15:21 -05:00
Holly Borla
9ba481ad53
[Diagnostics] Clarify the wording of error_in_future_swift_version.
2024-03-01 12:05:51 -08:00
Konrad `ktoso` Malawski
c56a1e8be7
[Distributed] Handle mangling thunks in extensions with generic AS and $Stubs ( #71914 )
2024-02-29 04:22:00 -08:00
Holly Borla
bb6de776d9
Merge pull request #71893 from hborla/downgrade-distributed-actor-isolation-error
...
[Concurrency] Downgrade newly diagnosed distributed actor isolation violation as a warning until Swift 6.
2024-02-26 17:19:10 -08:00
Holly Borla
479ee384b8
[Concurrency] Downgrade newly diagnosed actor isolation violation
...
as a warning until swift 6.
In compiler versions <=5.10, the compiler did not diagnose cases
where a non-isolated distributed actor value was passed to a VarDecl
with a function type type that has an isolated distributed actor
parameter, e.g. `(isolated DA) -> Void`. Stage in the error as a
warning until Swift 6.
2024-02-26 12:31:06 -08:00
John McCall
83850efba0
Fix a test to use SwiftStdlib 6.0 instead of 5.11.
2024-02-23 02:58:03 -05:00
Pavel Yaskevich
f9ec3b1d7e
Merge pull request #71796 from xedin/make-dist-new-requirements-conditionally-available
...
[Distributed] Make new protocol requirements conditionally available
2024-02-22 15:18:52 -08:00
Mishal Shah
cb96ec2893
Merge remote-tracking branch 'origin/main' into bump-swift-version-to-6
2024-02-22 09:44:44 -08:00
Konrad `ktoso` Malawski
1d44e2e8e0
[Distributed] Undo new record and mangling scheme for dist.p.witnesses ( #71801 )
2024-02-22 23:02:29 +09:00
Mishal Shah
6c306e3d43
Update the SwiftStdlib version to 6.0 and fix Frontend/crash.swift test
2024-02-21 15:20:24 -08:00
Pavel Yaskevich
2bd1825a1f
[stdlib] Distributed: Mark all new protocol requirements as available starting from stdlib 5.11
2024-02-21 13:29:47 -08:00
Pavel Yaskevich
738ac14489
[IRGen] Distributed: Dispatch decodeNextArgument via witness thunk if concrete decoder is not available
...
Since distributed actors can now be generic over actor system
it's no longer guaranteed for concrete decoder to be present,
we need to handle that case specifically during accessor emission.
2024-02-21 13:29:47 -08:00
Pavel Yaskevich
c0dc88878c
Revert "[IRGen] Distributed: Always invoke decodeNextArgument through witness thunk"
...
This reverts commit 4d4c80b8ec .
2024-02-21 13:29:47 -08:00
Pavel Yaskevich
65d164a9c3
Revert "[SIL] Distributed: Remove logic related to ad-hoc requirements from SILFunction"
...
This reverts commit 1909b12370 .
2024-02-21 13:29:47 -08:00
Mishal Shah
b8cd763b21
Merge branch 'main' into bump-swift-version-to-6
2024-02-21 12:40:54 -08:00
Mishal Shah
b488702cc9
Merge remote-tracking branch 'origin/main' into bump-swift-version-to-6
2024-02-20 21:04:47 -08:00
Kavon Farvardin
f296d8e158
NCGenerics: mass XFAIL tests
...
It's easier to get a handle on regressions while working through
failures if the tests that are known to not pass are XFAIL'd for
NoncopyableGenerics.
2024-02-20 18:26:05 -05:00
Mishal Shah
96d61d3c5c
Merge remote-tracking branch 'origin/main' into bump-swift-version-to-6
2024-02-20 14:31:55 -08:00
Konrad `ktoso` Malawski
f03ddf728b
[Macros] Reproduce issue with peer+extension macro extension's methods not being checked as witnesses ( #71717 )
...
Co-authored-by: Pavel Yaskevich <pyaskevich@apple.com >
2024-02-20 00:50:29 -08:00
Konrad `ktoso` Malawski
551b07ba80
[Distributed] Fix _executeDistributedTarget ABI ( #71725 )
2024-02-19 21:23:11 -08:00
Mishal Shah
af112c1591
Update the Swift version to 6.0 from 5.11
2024-02-19 17:47:16 -08:00
Holly Borla
26621b804c
[Concurrency] Enable optional isolated parameters.
2024-02-16 16:28:45 -08:00
Konrad `ktoso` Malawski
e9c7f3c382
[Distributed] Target identifiers for protocol calls ( #70928 )
2024-02-16 07:19:20 -08:00
Konrad `ktoso` Malawski
827e6a5708
[Distributed] Add DistributedProtocol macro ( #71090 )
2024-02-16 07:27:34 +09:00
Pavel Yaskevich
1909b12370
[SIL] Distributed: Remove logic related to ad-hoc requirements from SILFunction
...
Ad-hoc requirements are now obsolete by making `remoteCall`,
`record{Argument, ReturnType}`, `decodeNextArgument` protocols
requirements and injecting witness tables for `SerializationRequirement`
conformances during IRGen.
2024-02-12 14:26:30 -08:00
Pavel Yaskevich
4d4c80b8ec
[IRGen] Distributed: Always invoke decodeNextArgument through witness thunk
...
`decodeNextArgument` is now a requirement, so thunks should be
always calling that instead of trying to dispatch directly.
2024-02-12 14:26:30 -08:00
Pavel Yaskevich
cdc9a01dc1
[Tests] NFC: Adjust distributed actor test-cases changed/improved due to new requirements
2024-02-12 14:26:30 -08:00
Slava Pestov
2ed50ec276
Sema: If the structural occurs check skips a witness, treat it as tautological
...
Fixes rdar://problem/122584912.
2024-02-10 17:20:14 -05:00
Holly Borla
5cb418a2a7
Merge pull request #71511 from hborla/explicit-isolation-expansion
...
[Concurrency] Make `#isolation` macro expansions explicit.
2024-02-09 15:44:33 -08:00
Holly Borla
1875817bdd
[Concurrency] Make #isolation macro expansions explicit.
...
Macro expansions are never considered implicit. They have
valid source locations in their macro expansion buffer, they
do not cause implicit 'self' capture diagnostics, etc. This
fixes an issue where existing code that iterates over an async
sequence in an escaping closure would diagnose a use of implicit
'self' via the '#isolation' argument to 'next()'.
2024-02-09 12:05:16 -08:00
Hamish Knight
5d0ad81932
[test] Remove unnecessary --color flags
...
This is now the default.
2024-02-09 16:47:03 +00:00
Konrad `ktoso` Malawski
1d73afb296
[Distributed] Handle DA declared inside a generic type ( #71492 )
2024-02-08 21:32:34 -08:00
Ben Barham
a2c237b899
Merge pull request #71202 from finagolfin/isolation
...
[Test] Make sure macros are enabled for the tests that use the new #isolation macro
2024-02-08 08:41:39 -08:00
John McCall
dd90ae7416
Rename SIL's @isolated attribute to @sil_isolated.
...
We want to use @isolated in ordinary Swift, and while we could probably
make it coexist with this SIL use, doing so would be really inconvenient.
2024-02-03 01:51:36 -05:00
Slava Pestov
28f26216ee
Sema: Refactor evaluateMembersRequest() to not call TypeChecker::checkConformance()
2024-01-31 21:56:57 -05:00
Konrad `ktoso` Malawski
bd19d937f0
[TaskExecutor] Remove underscore from new APIs ( #71145 )
2024-01-30 06:27:54 +09:00
Konrad `ktoso` Malawski
dfdbe457bf
[Distributed] Support complex generic distributed actors in thunk gen ( #70842 )
2024-01-28 01:26:52 -08:00
Finagolfin
8e7a5c6e53
[Test] Make sure macros are enabled for the tests that use the new #isolation macro
2024-01-28 02:20:07 +05:30
Slava Pestov
5eb32261aa
Merge pull request #71169 from slavapestov/one-more-round-of-fixes
...
One more round of associated type inference fixes
2024-01-26 17:32:00 -05:00