Avatar
@swift-6.2.3 @swift-6.1.3 @swift-6.0.3 -swift-version 6 protocol ServiceTransport<Service> { associatedtype Service func register( methodSelector: @escaping @Sendable (Service.Type) -> (Service) -> () async throws -> Void ) } protocol P { func foo() } func f(transport: some ServiceTransport<some P & SendableMetatype>) { transport.register { $0.foo } } #if swift(>=6.2) typealias SendableMetatype = Swift.SendableMetatype #else typealias SendableMetatype = Any #endif