Enable strict memory safety in the Distributed module

This commit is contained in:
Doug Gregor
2025-02-22 07:56:57 -10:00
parent 177d16ced8
commit d9b5a4621f
7 changed files with 50 additions and 48 deletions

View File

@@ -18,7 +18,7 @@ import _Concurrency
internal final class DistributedRemoteActorReferenceExecutor: SerialExecutor {
static let _shared: DistributedRemoteActorReferenceExecutor = DistributedRemoteActorReferenceExecutor()
static var sharedUnownedExecutor: UnownedSerialExecutor {
UnownedSerialExecutor(ordinary: _shared)
unsafe UnownedSerialExecutor(ordinary: _shared)
}
internal init() {}
@@ -38,7 +38,7 @@ internal final class DistributedRemoteActorReferenceExecutor: SerialExecutor {
#endif // !SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY
public func asUnownedSerialExecutor() -> UnownedSerialExecutor {
UnownedSerialExecutor(ordinary: self)
unsafe UnownedSerialExecutor(ordinary: self)
}
}
@@ -57,5 +57,5 @@ internal final class DistributedRemoteActorReferenceExecutor: SerialExecutor {
public func buildDefaultDistributedRemoteActorExecutor<Act>(
_ actor: Act
) -> UnownedSerialExecutor where Act: DistributedActor {
return DistributedRemoteActorReferenceExecutor.sharedUnownedExecutor
return unsafe DistributedRemoteActorReferenceExecutor.sharedUnownedExecutor
}