You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
_openExistential(tag.keyType asanyActorTagKey.Type, do: store) // the `as` here is required, because: inferred result type 'any ActorTagKey.Type' requires explicit coercion due to loss of generic requirements
844
-
}
845
-
}
846
-
}
847
805
}
848
806
}
849
807
808
+
// extension ActorAddress: Codable {
809
+
// public func encode(to encoder: Encoder) throws {
810
+
// let tagSettings = encoder.actorSerializationContext?.system.settings.tags
811
+
// let encodeCustomTags: (ActorAddress, inout KeyedEncodingContainer<ActorCoding.TagKeys>) throws -> Void =
812
+
// tagSettings?.encodeCustomTags ?? ({ _, _ in () })
813
+
//
814
+
// var container = encoder.container(keyedBy: ActorCoding.CodingKeys.self)
// if let tagsContainer = try? container.nestedContainer(keyedBy: ActorCoding.TagKeys.self, forKey: ActorCoding.CodingKeys.tags) {
847
+
// // tags container found, try to decode all known tags:
848
+
// if let path = try tagsContainer.decodeIfPresent(ActorPath.self, forKey: .path) {
849
+
// self.tags[ActorTags.path] = path
850
+
// }
851
+
//
852
+
// if let context = decoder.actorSerializationContext {
853
+
// let decodeCustomTags = context.system.settings.tags.decodeCustomTags
854
+
//
855
+
// for tag in try decodeCustomTags(tagsContainer) {
856
+
// func store<K: ActorTagKey>(_: K.Type) {
857
+
// if let value = tag.value as? K.Value {
858
+
// self.tags[K.self] = value
859
+
// }
860
+
// }
861
+
// _openExistential(tag.keyType as any ActorTagKey.Type, do: store) // the `as` here is required, because: inferred result type 'any ActorTagKey.Type' requires explicit coercion due to loss of generic requirements
throwXCTSkip("TODO: not sure why this is hanging but relates to the NIO Futures issue I'm sure") // FIXME: unlock this test and fix NIO future handling
0 commit comments