From 4f0f6ce58b59791d834cf6cdf04065fac3226f1a Mon Sep 17 00:00:00 2001 From: Konrad `ktoso` Malawski Date: Sun, 22 Aug 2021 17:52:31 +0900 Subject: [PATCH] [Distributed] expose underlying identity in type eraser --- stdlib/public/Distributed/DistributedActor.swift | 2 ++ 1 file changed, 2 insertions(+) diff --git a/stdlib/public/Distributed/DistributedActor.swift b/stdlib/public/Distributed/DistributedActor.swift index 0ab48d7df5687..b18f3a2c98b25 100644 --- a/stdlib/public/Distributed/DistributedActor.swift +++ b/stdlib/public/Distributed/DistributedActor.swift @@ -121,12 +121,14 @@ public protocol ActorIdentity: Sendable, Hashable, Codable {} @available(SwiftStdlib 5.5, *) public struct AnyActorIdentity: ActorIdentity, @unchecked Sendable, CustomStringConvertible { + @usableFromInline public let underlying: Any @usableFromInline let _hashInto: (inout Hasher) -> () @usableFromInline let _equalTo: (Any) -> Bool @usableFromInline let _encodeTo: (Encoder) throws -> () @usableFromInline let _description: () -> String public init(_ identity: ID) where ID: ActorIdentity { + underlying = identity _hashInto = { hasher in identity .hash(into: &hasher) }