@@ -140,37 +140,33 @@ impl TraitImpl for ZeroizeOnDrop {
140140 trait_ : & DeriveTrait ,
141141 data : & Data ,
142142 ) -> TokenStream {
143- if data. is_empty ( * * trait_) {
144- TokenStream :: new ( )
145- } else {
146- match data. simple_type ( ) {
147- SimpleType :: Struct ( fields) | SimpleType :: Tuple ( fields) => {
148- #[ cfg( feature = "zeroize-on-drop" ) ]
149- {
150- let self_pattern = fields. self_pattern_mut ( ) ;
151- let self_ident = data. iter_self_ident ( * * trait_) ;
152-
153- quote ! {
154- #self_pattern => {
155- #( #self_ident. zeroize_or_on_drop( ) ; ) *
156- }
143+ match data. simple_type ( ) {
144+ SimpleType :: Struct ( fields) | SimpleType :: Tuple ( fields) => {
145+ #[ cfg( feature = "zeroize-on-drop" ) ]
146+ {
147+ let self_pattern = fields. self_pattern_mut ( ) ;
148+ let self_ident = data. iter_self_ident ( * * trait_) ;
149+
150+ quote ! {
151+ #self_pattern => {
152+ #( #self_ident. zeroize_or_on_drop( ) ; ) *
157153 }
158154 }
159- #[ cfg( not( feature = "zeroize-on-drop" ) ) ]
160- {
161- // Use unused variables.
162- let _ = fields;
155+ }
156+ #[ cfg( not( feature = "zeroize-on-drop" ) ) ]
157+ {
158+ // Use unused variables.
159+ let _ = fields;
163160
164- let path = util:: path_from_root_and_strs ( trait_. crate_ ( ) , & [ "Zeroize" ] ) ;
161+ let path = util:: path_from_root_and_strs ( trait_. crate_ ( ) , & [ "Zeroize" ] ) ;
165162
166- quote ! {
167- #path:: zeroize( self ) ;
168- }
163+ quote ! {
164+ #path:: zeroize( self ) ;
169165 }
170166 }
171- SimpleType :: Unit ( _) => TokenStream :: new ( ) ,
172- SimpleType :: Union => unreachable ! ( "unexpected trait for union" ) ,
173167 }
168+ SimpleType :: Unit ( _) => TokenStream :: new ( ) ,
169+ SimpleType :: Union => unreachable ! ( "unexpected trait for union" ) ,
174170 }
175171 }
176172}
0 commit comments