File tree Expand file tree Collapse file tree 1 file changed +6
-3
lines changed
lang/syn/src/codegen/program Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -2,7 +2,7 @@ use crate::codegen::program::common::*;
22use crate :: parser;
33use crate :: Program ;
44use heck:: CamelCase ;
5- use quote:: quote;
5+ use quote:: { quote, quote_spanned } ;
66
77pub fn generate ( program : & Program ) -> proc_macro2:: TokenStream {
88 let variants: Vec < proc_macro2:: TokenStream > = program
@@ -11,8 +11,11 @@ pub fn generate(program: &Program) -> proc_macro2::TokenStream {
1111 . map ( |ix| {
1212 let name = & ix. raw_method . sig . ident . to_string ( ) ;
1313 let ix_cfgs = & ix. cfgs ;
14- let ix_name_camel =
15- proc_macro2:: Ident :: new ( & name. to_camel_case ( ) , ix. raw_method . sig . ident . span ( ) ) ;
14+ let Ok ( ix_name_camel) = syn:: parse_str :: < syn:: Ident > ( & name. to_camel_case ( ) ) else {
15+ return quote_spanned ! { ix. raw_method. sig. ident. span( ) =>
16+ compile_error!( "failed to parse ix method name after conversion to camelCase" ) ;
17+ } ;
18+ } ;
1619 let raw_args: Vec < proc_macro2:: TokenStream > = ix
1720 . args
1821 . iter ( )
You can’t perform that action at this time.
0 commit comments