@@ -26,7 +26,7 @@ fileprivate let knownTypesQueue =
26
26
// TODO: Should these first four be exposed as methods to go with
27
27
// the general registry support?
28
28
29
- internal func buildTypeURL( forMessage message: Message , typePrefix: String ) -> String {
29
+ internal func buildTypeURL( forMessage message: any Message , typePrefix: String ) -> String {
30
30
var url = typePrefix
31
31
let needsSlash = typePrefix. isEmpty || typePrefix. last != " / "
32
32
if needsSlash {
@@ -35,7 +35,7 @@ internal func buildTypeURL(forMessage message: Message, typePrefix: String) -> S
35
35
return url + typeName( fromMessage: message)
36
36
}
37
37
38
- internal func typeName( fromMessage message: Message ) -> String {
38
+ internal func typeName( fromMessage message: any Message ) -> String {
39
39
let messageType = type ( of: message)
40
40
return messageType. protoMessageName
41
41
}
@@ -67,7 +67,7 @@ fileprivate final class UnsafeMutableTransferBox<Wrapped> {
67
67
extension UnsafeMutableTransferBox : @unchecked Sendable { }
68
68
69
69
// All access to this should be done on `knownTypesQueue`.
70
- fileprivate let knownTypes : UnsafeMutableTransferBox < [ String : Message . Type ] > = . init( [
70
+ fileprivate let knownTypes : UnsafeMutableTransferBox < [ String : any Message . Type ] > = . init( [
71
71
// Seeded with the Well Known Types.
72
72
" google.protobuf.Any " : Google_Protobuf_Any . self,
73
73
" google.protobuf.BoolValue " : Google_Protobuf_BoolValue . self,
@@ -117,7 +117,7 @@ extension Google_Protobuf_Any {
117
117
///
118
118
/// Returns: true if the type was registered, false if something
119
119
/// else was already registered for the messageName.
120
- @discardableResult public static func register( messageType: Message . Type ) -> Bool {
120
+ @discardableResult public static func register( messageType: any Message . Type ) -> Bool {
121
121
let messageTypeName = messageType. protoMessageName
122
122
var result : Bool = false
123
123
execute ( flags: . barrier) {
@@ -136,14 +136,14 @@ extension Google_Protobuf_Any {
136
136
}
137
137
138
138
/// Returns the Message.Type expected for the given type URL.
139
- public static func messageType( forTypeURL url: String ) -> Message . Type ? {
139
+ public static func messageType( forTypeURL url: String ) -> ( any Message . Type ) ? {
140
140
let messageTypeName = typeName ( fromURL: url)
141
141
return messageType ( forMessageName: messageTypeName)
142
142
}
143
143
144
144
/// Returns the Message.Type expected for the given proto message name.
145
- public static func messageType( forMessageName name: String ) -> Message . Type ? {
146
- var result : Message . Type ?
145
+ public static func messageType( forMessageName name: String ) -> ( any Message . Type ) ? {
146
+ var result : ( any Message . Type ) ?
147
147
execute ( flags: . none) {
148
148
result = knownTypes. wrappedValue [ name]
149
149
}
0 commit comments