@@ -219,30 +219,31 @@ pub fn derive_desync_hash(input: TokenStream) -> TokenStream {
219219 // Helper to get hash invocations of struct fields
220220 let hash_struct_fields = |fields : & StructFields | {
221221 match fields {
222- venial:: StructFields :: Tuple ( tuple) => tuple
223- . fields
224- . iter ( )
225- . enumerate ( )
226- . map ( |( idx, ( field, _) ) | {
227- let ty = & field. ty ;
228- quote ! { <#ty as #desync_hash_module:: DesyncHash >:: hash( & self . #idx, hasher) ; }
229- } )
230- . collect :: < Vec < _ > > ( ) ,
231- venial:: StructFields :: Named ( named) => named
232- . fields
233- . iter ( )
234- . filter_map ( |( field, _) | {
235- let name = & field. name ;
236- let ty = & field. ty ;
237- if !field. attributes . iter ( ) . any ( |attr| {
238- attr. path [ 0 ] . to_string ( ) == "desync_exclude"
239- } ) {
240- return Some ( quote ! { <#ty as #desync_hash_module:: DesyncHash >:: hash( & self . #name, hasher) ; } )
241- }
242- None
243- } )
244- . collect :: < Vec < _ > > ( ) ,
245- venial:: StructFields :: Unit => vec ! [ ] ,
222+ venial:: StructFields :: Tuple ( tuple) => tuple
223+ . fields
224+ . iter ( )
225+ . enumerate ( )
226+ . map ( |( idx, ( field, _) ) | {
227+ let ty = & field. ty ;
228+ quote ! { <#ty as #desync_hash_module:: DesyncHash >:: hash( & self . #idx, hasher) ; }
229+ } )
230+ . collect :: < Vec < _ > > ( ) ,
231+ venial:: StructFields :: Named ( named) => named
232+ . fields
233+ . iter ( )
234+ . filter_map ( |( field, _) | {
235+ let name = & field. name ;
236+ let ty = & field. ty ;
237+ if !field. attributes . iter ( ) . any ( |attr| {
238+ attr. path [ 0 ] . to_string ( ) == "desync_exclude"
239+ } ) {
240+ return Some ( quote ! { <#ty as #desync_hash_module:: DesyncHash >:: hash( & self . #name, hasher) ; } )
241+ }
242+ None
243+ } )
244+ . collect :: < Vec < _ > > ( ) ,
245+ venial:: StructFields :: Unit => vec ! [ ] ,
246+ }
246247 } ;
247248
248249 // Get fields of enum variant
0 commit comments