@@ -82,6 +82,9 @@ public struct CodeGenerationRequest {
82
82
}
83
83
}
84
84
85
+ @available ( * , unavailable)
86
+ extension CodeGenerationRequest : Sendable { }
87
+
85
88
@available ( gRPCSwift 2 . 0 , * )
86
89
extension CodeGenerationRequest {
87
90
@available ( * , deprecated, renamed: " makeSerializerSnippet " )
@@ -123,7 +126,7 @@ extension CodeGenerationRequest {
123
126
124
127
/// Represents an import: a module or a specific item from a module.
125
128
@available ( gRPCSwift 2 . 0 , * )
126
- public struct Dependency : Equatable {
129
+ public struct Dependency : Equatable , Sendable {
127
130
/// If the dependency is an item, the property's value is the item representation.
128
131
/// If the dependency is a module, this property is nil.
129
132
public var item : Item ?
@@ -158,7 +161,7 @@ public struct Dependency: Equatable {
158
161
}
159
162
160
163
/// Represents an item imported from a module.
161
- public struct Item : Equatable {
164
+ public struct Item : Equatable , Sendable {
162
165
/// The keyword that specifies the item's kind (e.g. `func`, `struct`).
163
166
public var kind : Kind
164
167
@@ -171,7 +174,7 @@ public struct Dependency: Equatable {
171
174
}
172
175
173
176
/// Represents the imported item's kind.
174
- public struct Kind : Equatable {
177
+ public struct Kind : Equatable , Sendable {
175
178
/// Describes the keyword associated with the imported item.
176
179
internal enum Value : String {
177
180
case `typealias`
@@ -233,7 +236,7 @@ public struct Dependency: Equatable {
233
236
}
234
237
235
238
/// Describes any requirement for the `@preconcurrency` attribute.
236
- public struct PreconcurrencyRequirement : Equatable {
239
+ public struct PreconcurrencyRequirement : Equatable , Sendable {
237
240
internal enum Value : Equatable {
238
241
case required
239
242
case notRequired
@@ -265,7 +268,7 @@ public struct Dependency: Equatable {
265
268
266
269
/// Represents a service described in an IDL file.
267
270
@available ( gRPCSwift 2 . 0 , * )
268
- public struct ServiceDescriptor : Hashable {
271
+ public struct ServiceDescriptor : Hashable , Sendable {
269
272
/// Documentation from comments above the IDL service description.
270
273
/// It is already formatted, meaning it contains "///" and new lines.
271
274
public var documentation : String
@@ -323,7 +326,7 @@ extension ServiceDescriptor {
323
326
324
327
/// Represents a method described in an IDL file.
325
328
@available ( gRPCSwift 2 . 0 , * )
326
- public struct MethodDescriptor : Hashable {
329
+ public struct MethodDescriptor : Hashable , Sendable {
327
330
/// Documentation from comments above the IDL method description.
328
331
/// It is already formatted, meaning it contains "///" and new lines.
329
332
public var documentation : String
@@ -388,7 +391,7 @@ extension MethodDescriptor {
388
391
}
389
392
390
393
@available ( gRPCSwift 2 . 0 , * )
391
- public struct ServiceName : Hashable {
394
+ public struct ServiceName : Hashable , Sendable {
392
395
/// The identifying name as used in the service/method descriptors including any namespace.
393
396
///
394
397
/// This value is also used to identify the service to the remote peer, usually as part of the
@@ -423,7 +426,7 @@ public struct ServiceName: Hashable {
423
426
}
424
427
425
428
@available ( gRPCSwift 2 . 0 , * )
426
- public struct MethodName : Hashable {
429
+ public struct MethodName : Hashable , Sendable {
427
430
/// The identifying name as used in the service/method descriptors.
428
431
///
429
432
/// This value is also used to identify the method to the remote peer, usually as part of the
@@ -455,7 +458,7 @@ public struct MethodName: Hashable {
455
458
/// Represents the name associated with a namespace, service or a method, in three different formats.
456
459
@available ( * , deprecated, message: " Use ServiceName/MethodName instead. " )
457
460
@available ( gRPCSwift 2 . 0 , * )
458
- public struct Name : Hashable {
461
+ public struct Name : Hashable , Sendable {
459
462
/// The base name is the name used for the namespace/service/method in the IDL file, so it should follow
460
463
/// the specific casing of the IDL.
461
464
///
0 commit comments