Konrad `ktoso` Malawski
a12420a739
[Distributed] Must deinitialize return value of remoteCall
...
resolves rdar://136338200
resolves rdar://136313477
2024-09-20 14:33:46 +09:00
Konrad `ktoso` Malawski
8a88569c6b
[Distributed] remoteCallVoid is a new requirement in Swift 6.0
...
And it is handled compatibly because all existing implementations must
have already implemented it before -- it was an ad-hoc requirement
before Swift 6.0, and now it has become a real requirement - the same as
all the other ad-hoc requirements relying on the Serialization
Requirement
2024-06-12 16:32:30 +09:00
Konrad `ktoso` Malawski
3b95855a28
[Distributed] Reword docs since we no longer have ad-hoc requirements
2024-06-12 16:32:30 +09:00
Holly Borla
5d9ad87a82
[Concurrency] Task executors are available in Swift 6.0.
2024-03-13 09:56:24 -07:00
Ben Barham
1d2ef3a003
[stdlib] Move the remaining 5.11 availability to 6.0
...
Presumably this was a mid-air collision between two PRs. Just update the
remaining references.
2024-02-22 19:51:27 -08: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
Konrad `ktoso` Malawski
1d44e2e8e0
[Distributed] Undo new record and mangling scheme for dist.p.witnesses ( #71801 )
2024-02-22 23:02:29 +09: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
f5ed53d918
Revert "[stdlib] Distributed: Remove invokeOnReturn requirement and its synthesis"
...
This reverts commit 961aa30d46 .
2024-02-20 20:33:02 -08:00
Konrad `ktoso` Malawski
551b07ba80
[Distributed] Fix _executeDistributedTarget ABI ( #71725 )
2024-02-19 21:23:11 -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
a2caaa3d03
[Distributed] Promote SerializationRequirement as a primary associated type for encoder/decoder/result
2024-02-12 14:26:30 -08:00
Pavel Yaskevich
961aa30d46
[stdlib] Distributed: Remove invokeOnReturn requirement and its synthesis
...
This is no longer necessary because `onReturn` is a protocol
requirement now.
2024-02-12 14:26:30 -08:00
Pavel Yaskevich
6c7000ae0b
[Sema/IRGen] Extend ad-hoc requirement handling to DistributedTargetInvocationResultHandler.onReturn
2024-02-12 14:26:30 -08:00
Pavel Yaskevich
4d45701046
[Sema/IRGen] Extend ad-hoc requirement handling to DistributedTargetInvocationDecoder.decodeNextArgument
2024-02-12 14:26:30 -08:00
Pavel Yaskevich
4f32111bf8
[Sema/IRGen] Extend ad-hoc requirement handling to DistributedTargetInvocationEncoder.record{Argument, ReturnType}
2024-02-12 14:26:30 -08:00
Pavel Yaskevich
e59727aa3d
[stdlib] Distributed: Promote remoteCall{Void} into protocol requirements
2024-02-12 13:30:59 -08:00
Konrad `ktoso` Malawski
dfdbe457bf
[Distributed] Support complex generic distributed actors in thunk gen ( #70842 )
2024-01-28 01:26:52 -08:00
Konrad `ktoso` Malawski
1d150c811c
[Distributed] Fix effectiveLabel implemementation to expected semantics
2023-10-11 00:19:34 +09:00
Konrad `ktoso` Malawski
e1527ff9b6
Update stdlib/public/Distributed/DistributedActorSystem.swift
...
Co-authored-by: Kavon Farvardin <kfarvardin@apple.com >
2022-10-13 06:14:32 +09:00
Konrad `ktoso` Malawski
20e1834627
[Distributed] More docs on the InvocationDecoder itself
2022-10-11 23:00:24 +09:00
Konrad `ktoso` Malawski
7d214054b6
[Distributed] More docs for ad-hoc requirements ( #60916 )
2022-09-16 09:38:29 +09:00
swift-ci
a851866920
Merge pull request #60296 from apple/wip-distributed-docs
...
[Distributed] More API documentation
2022-08-18 04:29:48 -07:00
Konrad `ktoso` Malawski
49ae51c37c
small cleanups
2022-08-18 18:07:28 +09:00
Konrad `ktoso` Malawski
968a64eb8b
Apply suggestions from code review
...
Co-authored-by: Yim Lee <yim_lee@apple.com >
2022-08-18 17:04:11 +09:00
Konrad `ktoso` Malawski
1f840d75cc
actor system docs
2022-08-17 22:07:41 +09:00
Konrad `ktoso` Malawski
25e17930cc
[Distributed] more specific errorCodes for dist failures; hide the make error func
2022-08-10 10:39:12 +09:00
Konrad `ktoso` Malawski
2418aeb375
[Distributed] documentation
2022-07-29 12:32:49 +09:00
Konrad `ktoso` Malawski
96462980fe
improve error reporting
2022-07-29 10:44:38 +09:00
Konrad `ktoso` Malawski
febfef97d4
[Distributed] Skeleton implementation of distributed computed properties
2022-06-29 14:49:04 -07:00
Konrad `ktoso` Malawski
6a2778645f
Revert "Merge pull request #59481 from xedin/distributed-computed-properties"
...
This reverts commit 8125a85a8f , reversing
changes made to 728971c5b7 .
2022-06-25 08:49:00 +09:00
Konrad `ktoso` Malawski
5a5b7c007c
towards distributed getters
2022-06-17 12:12:16 -07:00
Max Desiatov
1ef2eeffa4
Fix typo in DistributedActorSystem.swift doc comment
...
`an distributed actor` -> `a distributed actor`
2022-05-29 19:21:43 +01:00
Konrad `ktoso` Malawski
bcd0f64e91
[Distributed] workaround for LocalTestingDAS crashes;
...
This happens to work, but is not a real fix; we are not handling well
types declared in a library evolution enabled library, which this DAS
is. Without this, at runtime, we crash in LocalTestingDAS using actor
initializers
2022-05-07 07:28:55 +09:00
Josh Soref
7a57e7ce99
Spelling stdlib/public/concurrency ( #42443 )
...
* spelling: already
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: appropriate
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: asynchronous
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: cancel
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: divisible
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: execution
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: initialized
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: normally
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: preprocessed
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: priority
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: some
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: success
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: suspending
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: the
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: throws
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com >
2022-04-21 11:12:57 -07:00
Josh Soref
644c18ca9b
Spelling stdlib ( #42444 )
...
* spelling: against
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: algorithmic
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: alignment
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: anything
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: architectural
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: architecture
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: are
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: artificial
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: aside
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: available
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: being
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: bidirectional
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: characters
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: circular
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: compatibility
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: compiled
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: correctly
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: covers
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: declaration
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: dependencies
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: descriptor
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: dictionaries
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: dynamic
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: greater
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: hierarchy
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: immortal
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: initialize
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: initializes
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: iterable
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: message
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: minimum
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: multiple
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: originally
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: simplified
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: sophisticated
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: trivia
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: wasn't
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com >
2022-04-19 14:02:43 -07:00
Konrad `ktoso` Malawski
79ad9278b2
[Distributed] Retain adhoc decodeNextArgument in distributed thunk
2022-04-18 16:53:10 -07:00
Konrad `ktoso` Malawski
8d3e7d91c0
[Distributed] ResultHandler.onReturn must be ad-hoc because SerializationRequirement ( #41916 )
...
* [Distributed] Invoke handler.onReturn ad hoc via ast synthesized func
* reformat and cleanup
* remove unused var
2022-03-24 21:44:37 +09:00
Konrad `ktoso` Malawski
5a5d1ba2e6
[Distributed] Implement RemoteCallArgument
2022-03-17 22:55:09 +09:00
Konrad `ktoso` Malawski
20f28f8c3c
[Distributed] make RemoteCallTarget Hashable, add availability
2022-03-17 20:05:31 +09:00
Konrad `ktoso` Malawski
ea29723466
[Distributed] Add name parameter to recordArgument for better interop
2022-03-17 20:05:31 +09:00
Yim Lee
bb9014017a
Offer LocalTestingDistributedActorSystem
...
Add local-only actor system `LocalTestingDistributedActorSystem` to make code and tutorial development easier.
rdar://89580224
2022-03-15 12:34:28 -07:00
Konrad `ktoso` Malawski
6caeecdc58
fix locating constructor
2022-03-15 23:50:28 +09:00
Konrad `ktoso` Malawski
7718448636
[Distributed] Simplify repr of RemoteCallTarget
2022-03-15 18:03:13 +09:00
Konrad `ktoso` Malawski
4fa0855907
[Distributed] RemoteCallTarget now pretty prints and hides mangled names
2022-03-15 17:34:04 +09:00
Konrad `ktoso` Malawski
8925f9d8fb
[Distributed] recordErrorType is not ad-hoc requirement anymore
2022-03-15 17:13:42 +09:00
Konrad `ktoso` Malawski
6d502fc042
[Distributed] Implicit Codable conformance for Dist Actors
...
[Witness] implement dump() on witness
2022-03-11 18:07:14 +09:00
Konrad `ktoso` Malawski
5ab8e0834d
[Distributed] Reimplement distributed call thunks completely in AST ( #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 >
2022-03-10 23:58:23 +09:00
Konrad `ktoso` Malawski
94c0e522b0
Merge pull request #41415 from xedin/dist-generic-accessors
...
[Distributed] Remove class-bound restriction from target invocation decoder
2022-02-17 23:10:10 +09:00