@@ -69,22 +69,22 @@ impl RenameAll {
6969#[ derive( Debug ) ]
7070pub ( crate ) struct StructAttrs {
7171 rename_all : RenameAll ,
72- // deny_unknown_fields: bool,
72+ deny_unknown_fields : bool ,
7373}
7474
7575impl Default for StructAttrs {
7676 fn default ( ) -> Self {
7777 StructAttrs {
7878 rename_all : RenameAll :: None ,
79- // deny_unknown_fields: false,
79+ deny_unknown_fields : false ,
8080 }
8181 }
8282}
8383
8484impl Parse for StructAttrs {
8585 fn parse ( input : ParseStream ) -> syn:: Result < Self > {
8686 let mut rename_all = RenameAll :: None ;
87- let mut _deny_unknown_fields = false ;
87+ let mut deny_unknown_fields = false ;
8888 while !input. is_empty ( ) {
8989 let attr: Ident = input. parse ( ) ?;
9090 match attr. to_string ( ) . as_str ( ) {
@@ -103,7 +103,7 @@ impl Parse for StructAttrs {
103103 }
104104 }
105105 "deny_unknown_fields" => {
106- _deny_unknown_fields = true ;
106+ deny_unknown_fields = true ;
107107 }
108108 other => {
109109 return Err ( syn:: Error :: new (
@@ -118,7 +118,7 @@ impl Parse for StructAttrs {
118118 }
119119 Ok ( StructAttrs {
120120 rename_all,
121- // deny_unknown_fields,
121+ deny_unknown_fields,
122122 } )
123123 }
124124}
@@ -143,24 +143,29 @@ pub(crate) fn get_attr<'field>(
143143 . next ( )
144144}
145145
146- pub ( crate ) fn name ( struct_attr : & StructAttrs , field : & Field ) -> Option < String > {
147- if let Some ( attr) = get_attr ( & field. attrs , "simd_json" )
148- . map ( field_attrs)
149- . and_then ( |a| a. rename )
150- {
151- Some ( format ! ( "{}:" , simd_json:: OwnedValue :: from( attr) . encode( ) ) )
152- } else if let Some ( attr) = get_attr ( & field. attrs , "serde" )
153- . map ( field_attrs)
154- . and_then ( |a| a. rename )
155- {
156- Some ( format ! ( "{}:" , simd_json:: OwnedValue :: from( attr) . encode( ) ) )
157- } else {
158- field. ident . as_ref ( ) . map ( |ident| {
159- format ! (
160- "{}:" ,
161- simd_json:: OwnedValue :: from( struct_attr. rename_all. apply( & ident. to_string( ) ) )
162- . encode( )
163- )
164- } )
146+ impl StructAttrs {
147+ pub ( crate ) fn deny_unknown_fields ( & self ) -> bool {
148+ self . deny_unknown_fields
149+ }
150+
151+ pub ( crate ) fn name ( & self , field : & Field ) -> Option < String > {
152+ if let Some ( attr) = get_attr ( & field. attrs , "simd_json" )
153+ . map ( field_attrs)
154+ . and_then ( |a| a. rename )
155+ {
156+ Some ( format ! ( "{}:" , simd_json:: OwnedValue :: from( attr) . encode( ) ) )
157+ } else if let Some ( attr) = get_attr ( & field. attrs , "serde" )
158+ . map ( field_attrs)
159+ . and_then ( |a| a. rename )
160+ {
161+ Some ( format ! ( "{}:" , simd_json:: OwnedValue :: from( attr) . encode( ) ) )
162+ } else {
163+ field. ident . as_ref ( ) . map ( |ident| {
164+ format ! (
165+ "{}:" ,
166+ simd_json:: OwnedValue :: from( self . rename_all. apply( & ident. to_string( ) ) ) . encode( )
167+ )
168+ } )
169+ }
165170 }
166171}
0 commit comments