@@ -33,13 +33,13 @@ struct Version: Equatable, Hashable, CustomStringConvertible {
3333 }
3434}
3535
36- public enum ASTItemSyntax : Equatable , Hashable {
36+ public enum ASTItemSyntax : Equatable , Hashable , Sendable {
3737 case interface( SyntaxNode < InterfaceSyntax > )
3838 case world( SyntaxNode < WorldSyntax > )
3939 case use( SyntaxNode < TopLevelUseSyntax > )
4040}
4141
42- public struct PackageNameSyntax : Equatable , Hashable , CustomStringConvertible {
42+ public struct PackageNameSyntax : Equatable , Hashable , CustomStringConvertible , Sendable {
4343 public var namespace : Identifier
4444 public var name : Identifier
4545 var version : Version ?
@@ -81,27 +81,27 @@ public struct WorldSyntax: Equatable, Hashable, SyntaxNodeProtocol {
8181 public var items : [ WorldItemSyntax ]
8282}
8383
84- public enum WorldItemSyntax : Equatable , Hashable {
84+ public enum WorldItemSyntax : Equatable , Hashable , Sendable {
8585 case `import`( ImportSyntax )
8686 case export( ExportSyntax )
8787 case use( SyntaxNode < UseSyntax > )
8888 case type( SyntaxNode < TypeDefSyntax > )
8989 case include( IncludeSyntax )
9090}
9191
92- public struct ImportSyntax : Equatable , Hashable {
92+ public struct ImportSyntax : Equatable , Hashable , Sendable {
9393 public var documents : DocumentsSyntax
9494 public var attributes : [ AttributeSyntax ]
9595 public var kind : ExternKindSyntax
9696}
9797
98- public struct ExportSyntax : Equatable , Hashable {
98+ public struct ExportSyntax : Equatable , Hashable , Sendable {
9999 public var documents : DocumentsSyntax
100100 public var attributes : [ AttributeSyntax ]
101101 public var kind : ExternKindSyntax
102102}
103103
104- public enum ExternKindSyntax : Equatable , Hashable {
104+ public enum ExternKindSyntax : Equatable , Hashable , Sendable {
105105 case interface( Identifier , [ InterfaceItemSyntax ] )
106106 case path( UsePathSyntax )
107107 case function( Identifier , FunctionSyntax )
@@ -131,7 +131,7 @@ public struct TypeDefSyntax: Equatable, Hashable, SyntaxNodeProtocol {
131131 public var body : TypeDefBodySyntax
132132}
133133
134- public enum TypeDefBodySyntax : Equatable , Hashable {
134+ public enum TypeDefBodySyntax : Equatable , Hashable , Sendable {
135135 case flags( FlagsSyntax )
136136 case resource( ResourceSyntax )
137137 case record( RecordSyntax )
@@ -141,11 +141,11 @@ public enum TypeDefBodySyntax: Equatable, Hashable {
141141 case alias( TypeAliasSyntax )
142142}
143143
144- public struct TypeAliasSyntax : Equatable , Hashable {
144+ public struct TypeAliasSyntax : Equatable , Hashable , Sendable {
145145 public let typeRepr : TypeReprSyntax
146146}
147147
148- public indirect enum TypeReprSyntax : Equatable , Hashable {
148+ public indirect enum TypeReprSyntax : Equatable , Hashable , Sendable {
149149 case bool
150150 case u8
151151 case u16
@@ -169,7 +169,7 @@ public indirect enum TypeReprSyntax: Equatable, Hashable {
169169 case stream( StreamSyntax )
170170}
171171
172- public enum HandleSyntax : Equatable , Hashable {
172+ public enum HandleSyntax : Equatable , Hashable , Sendable {
173173 case own( resource: Identifier )
174174 case borrow( resource: Identifier )
175175
@@ -181,65 +181,65 @@ public enum HandleSyntax: Equatable, Hashable {
181181 }
182182}
183183
184- public struct ResourceSyntax : Equatable , Hashable {
184+ public struct ResourceSyntax : Equatable , Hashable , Sendable {
185185 var functions : [ ResourceFunctionSyntax ]
186186}
187187
188- public enum ResourceFunctionSyntax : Equatable , Hashable {
188+ public enum ResourceFunctionSyntax : Equatable , Hashable , Sendable {
189189 case method( SyntaxNode < NamedFunctionSyntax > )
190190 case `static`( SyntaxNode < NamedFunctionSyntax > )
191191 case constructor( SyntaxNode < NamedFunctionSyntax > )
192192}
193193
194- public struct RecordSyntax : Equatable , Hashable {
194+ public struct RecordSyntax : Equatable , Hashable , Sendable {
195195 public var fields : [ FieldSyntax ]
196196}
197197
198- public struct FieldSyntax : Equatable , Hashable {
198+ public struct FieldSyntax : Equatable , Hashable , Sendable {
199199 public var documents : DocumentsSyntax
200200 public var name : Identifier
201201 public var type : TypeReprSyntax
202202 var textRange : TextRange
203203}
204204
205- public struct FlagsSyntax : Equatable , Hashable {
205+ public struct FlagsSyntax : Equatable , Hashable , Sendable {
206206 public var flags : [ FlagSyntax ]
207207}
208208
209- public struct FlagSyntax : Equatable , Hashable {
209+ public struct FlagSyntax : Equatable , Hashable , Sendable {
210210 public var documents : DocumentsSyntax
211211 public var name : Identifier
212212}
213213
214- public struct VariantSyntax : Equatable , Hashable {
214+ public struct VariantSyntax : Equatable , Hashable , Sendable {
215215 public var cases : [ CaseSyntax ]
216216 var textRange : TextRange
217217}
218218
219- public struct CaseSyntax : Equatable , Hashable {
219+ public struct CaseSyntax : Equatable , Hashable , Sendable {
220220 public var documents : DocumentsSyntax
221221 public var name : Identifier
222222 public var type : TypeReprSyntax ?
223223 var textRange : TextRange
224224}
225225
226- public struct EnumSyntax : Equatable , Hashable {
226+ public struct EnumSyntax : Equatable , Hashable , Sendable {
227227 public var cases : [ EnumCaseSyntax ]
228228 var textRange : TextRange
229229}
230230
231- public struct EnumCaseSyntax : Equatable , Hashable {
231+ public struct EnumCaseSyntax : Equatable , Hashable , Sendable {
232232 public var documents : DocumentsSyntax
233233 public var name : Identifier
234234 var textRange : TextRange
235235}
236236
237- public struct ResultSyntax : Equatable , Hashable {
237+ public struct ResultSyntax : Equatable , Hashable , Sendable {
238238 public let ok : TypeReprSyntax ?
239239 public let error : TypeReprSyntax ?
240240}
241241
242- public struct StreamSyntax : Equatable , Hashable {
242+ public struct StreamSyntax : Equatable , Hashable , Sendable {
243243 var element : TypeReprSyntax ?
244244 var end : TypeReprSyntax ?
245245}
@@ -256,20 +256,20 @@ public struct UnionSyntax: Equatable, Hashable, SyntaxNodeProtocol {
256256 var textRange : TextRange
257257}
258258
259- public struct UnionCaseSyntax : Equatable , Hashable {
259+ public struct UnionCaseSyntax : Equatable , Hashable , Sendable {
260260 public var documents : DocumentsSyntax
261261 public var type : TypeReprSyntax
262262 var textRange : TextRange
263263}
264264
265- public struct ParameterSyntax : Equatable , Hashable {
265+ public struct ParameterSyntax : Equatable , Hashable , Sendable {
266266 public var name : Identifier
267267 public var type : TypeReprSyntax
268268 var textRange : TextRange
269269}
270270public typealias ParameterList = [ ParameterSyntax ]
271271
272- public enum ResultListSyntax : Equatable , Hashable {
272+ public enum ResultListSyntax : Equatable , Hashable , Sendable {
273273 case named( ParameterList )
274274 case anon( TypeReprSyntax )
275275
@@ -281,7 +281,7 @@ public enum ResultListSyntax: Equatable, Hashable {
281281 }
282282}
283283
284- public struct FunctionSyntax : Equatable , Hashable {
284+ public struct FunctionSyntax : Equatable , Hashable , Sendable {
285285 public var parameters : ParameterList
286286 public var results : ResultListSyntax
287287 var textRange : TextRange
@@ -293,7 +293,7 @@ public struct UseSyntax: Equatable, Hashable, SyntaxNodeProtocol {
293293 public var names : [ UseNameSyntax ]
294294}
295295
296- public enum UsePathSyntax : Equatable , Hashable {
296+ public enum UsePathSyntax : Equatable , Hashable , Sendable {
297297 case id( Identifier )
298298 case package ( id: PackageNameSyntax , name: Identifier )
299299
@@ -305,23 +305,23 @@ public enum UsePathSyntax: Equatable, Hashable {
305305 }
306306}
307307
308- public struct UseNameSyntax : Equatable , Hashable {
308+ public struct UseNameSyntax : Equatable , Hashable , Sendable {
309309 public var name : Identifier
310310 public var asName : Identifier ?
311311}
312312
313- public struct IncludeSyntax : Equatable , Hashable {
313+ public struct IncludeSyntax : Equatable , Hashable , Sendable {
314314 var attributes : [ AttributeSyntax ]
315315 var from : UsePathSyntax
316316 var names : [ IncludeNameSyntax ]
317317}
318318
319- public struct IncludeNameSyntax : Equatable , Hashable {
319+ public struct IncludeNameSyntax : Equatable , Hashable , Sendable {
320320 var name : Identifier
321321 var asName : Identifier
322322}
323323
324- public struct Identifier : Equatable , Hashable , CustomStringConvertible {
324+ public struct Identifier : Equatable , Hashable , CustomStringConvertible , Sendable {
325325 public var text : String
326326 var textRange : TextRange
327327
@@ -330,28 +330,28 @@ public struct Identifier: Equatable, Hashable, CustomStringConvertible {
330330 }
331331}
332332
333- public struct DocumentsSyntax : Equatable , Hashable {
333+ public struct DocumentsSyntax : Equatable , Hashable , Sendable {
334334 var comments : [ String ]
335335}
336336
337- public enum AttributeSyntax : Equatable , Hashable {
337+ public enum AttributeSyntax : Equatable , Hashable , Sendable {
338338 case since( SinceAttributeSyntax )
339339 case unstable( UnstableAttributeSyntax )
340340 case deprecated( DeprecatedAttributeSyntax )
341341}
342342
343- public struct SinceAttributeSyntax : Equatable , Hashable {
343+ public struct SinceAttributeSyntax : Equatable , Hashable , Sendable {
344344 let version : Version
345345 let feature : Identifier ?
346346 let textRange : TextRange
347347}
348348
349- public struct UnstableAttributeSyntax : Equatable , Hashable {
349+ public struct UnstableAttributeSyntax : Equatable , Hashable , Sendable {
350350 let textRange : TextRange
351351 let feature : Identifier
352352}
353353
354- public struct DeprecatedAttributeSyntax : Equatable , Hashable {
354+ public struct DeprecatedAttributeSyntax : Equatable , Hashable , Sendable {
355355 let textRange : TextRange
356356 let version : Version
357357}
0 commit comments