File tree Expand file tree Collapse file tree 2 files changed +6
-7
lines changed
Expand file tree Collapse file tree 2 files changed +6
-7
lines changed Original file line number Diff line number Diff line change 11use crate :: helpers:: get_docs;
22use anyhow:: { bail, Result } ;
33use darling:: ToTokens ;
4- use proc_macro2:: { Ident , Literal , TokenStream } ;
4+ use proc_macro2:: TokenStream ;
55use quote:: quote;
6- use syn:: ItemConst ;
6+ use syn:: { Expr , ItemConst } ;
77
88use crate :: STATE ;
99
@@ -36,10 +36,9 @@ pub fn parser(input: ItemConst) -> Result<TokenStream> {
3636
3737impl Constant {
3838 pub fn val_tokens ( & self ) -> TokenStream {
39- syn:: parse_str :: < Literal > ( & self . value )
40- . map ( |lit| lit. to_token_stream ( ) )
41- . or_else ( |_| syn:: parse_str :: < Ident > ( & self . value ) . map ( |ident| ident. to_token_stream ( ) ) )
42- . unwrap_or ( quote ! { Default :: default ( ) } )
39+ let expr: Expr =
40+ syn:: parse_str ( & self . value ) . expect ( "failed to parse previously parsed expr" ) ;
41+ expr. to_token_stream ( )
4342 }
4443
4544 // pub fn get_flags(&self) -> TokenStream {
Original file line number Diff line number Diff line change @@ -139,7 +139,7 @@ fn build_constants(constants: &[Constant]) -> Vec<TokenStream> {
139139 let name = & constant. name ;
140140 let val = constant. val_tokens ( ) ;
141141 quote ! {
142- #val. register_constant( #name, module_number) . unwrap( ) ;
142+ ( #val) . register_constant( #name, module_number) . unwrap( ) ;
143143 }
144144 } )
145145 . collect ( )
You can’t perform that action at this time.
0 commit comments