|
10 | 10 |
|
11 | 11 | import _Distributed
|
12 | 12 |
|
| 13 | +@available(SwiftStdlib 5.5, *) |
| 14 | +distributed actor PickATransport1 { |
| 15 | + init(kappa transport: ActorTransport, other: Int) {} |
| 16 | +} |
| 17 | + |
| 18 | +@available(SwiftStdlib 5.5, *) |
| 19 | +distributed actor PickATransport2 { |
| 20 | + init(other: Int, theTransport: ActorTransport) async {} |
| 21 | +} |
| 22 | + |
13 | 23 | @available(SwiftStdlib 5.5, *)
|
14 | 24 | distributed actor LocalWorker {
|
15 |
| - init(transport: ActorTransport) { |
16 |
| - defer { transport.actorReady(self) } // FIXME(distributed): rdar://81783599 this should be injected automatically |
17 |
| - } |
| 25 | + init(transport: ActorTransport) {} |
18 | 26 | }
|
19 | 27 |
|
20 | 28 | // ==== Fake Transport ---------------------------------------------------------
|
@@ -57,18 +65,28 @@ struct FakeTransport: ActorTransport {
|
57 | 65 | // ==== Execute ----------------------------------------------------------------
|
58 | 66 |
|
59 | 67 | @available(SwiftStdlib 5.5, *)
|
60 |
| -func test() { |
| 68 | +func test() async { |
61 | 69 | let transport = FakeTransport()
|
62 | 70 |
|
63 | 71 | _ = LocalWorker(transport: transport)
|
64 | 72 | // CHECK: assign type:LocalWorker, id:ActorAddress(address: "[[ID:.*]]")
|
65 | 73 | // CHECK: ready actor:main.LocalWorker, id:AnyActorIdentity(ActorAddress(address: "[[ID]]"))
|
66 | 74 | // CHECK: resign id:AnyActorIdentity(ActorAddress(address: "[[ID]]"))
|
| 75 | + |
| 76 | + _ = PickATransport1(kappa: transport, other: 0) |
| 77 | + // CHECK: assign type:PickATransport1, id:ActorAddress(address: "[[ID:.*]]") |
| 78 | + // CHECK: ready actor:main.PickATransport1, id:AnyActorIdentity(ActorAddress(address: "[[ID]]")) |
| 79 | + // CHECK: resign id:AnyActorIdentity(ActorAddress(address: "[[ID]]")) |
| 80 | + |
| 81 | + _ = await PickATransport2(other: 1, theTransport: transport) |
| 82 | + // CHECK: assign type:PickATransport2, id:ActorAddress(address: "[[ID:.*]]") |
| 83 | + // CHECK: ready actor:main.PickATransport2, id:AnyActorIdentity(ActorAddress(address: "[[ID]]")) |
| 84 | + // CHECK: resign id:AnyActorIdentity(ActorAddress(address: "[[ID]]")) |
67 | 85 | }
|
68 | 86 |
|
69 | 87 | @available(SwiftStdlib 5.5, *)
|
70 | 88 | @main struct Main {
|
71 | 89 | static func main() async {
|
72 |
| - test() |
| 90 | + await test() |
73 | 91 | }
|
74 | 92 | }
|
0 commit comments