@@ -21,7 +21,7 @@ macro_rules! write_fmt {
2121/// ContactFFSilent => ContactFfSilent
2222///
2323/// If a string doesn't need to be updated, the original is returned
24- fn normalize_caps < ' a > ( input : & ' a str ) -> Cow < ' a , str > {
24+ pub fn normalize_caps ( input : & str ) -> Cow < ' _ , str > {
2525 let bytes = input. as_bytes ( ) ;
2626 let mut i = 0 ;
2727
@@ -108,7 +108,7 @@ impl<'a> EnumBindGenerator<'a> {
108108 write_str ! ( self , " #[default]" ) ;
109109
110110 for ( var_num, var_info) in self . variants {
111- write_fmt ! ( self , " {} = {var_num}," , var_info. name) ;
111+ write_fmt ! ( self , " {} = {var_num}," , normalize_caps ( & var_info. name) ) ;
112112 }
113113
114114 write_str ! ( self , "}" ) ;
@@ -121,12 +121,11 @@ impl<'a> EnumBindGenerator<'a> {
121121 write_str ! ( self , " match flat_t {" ) ;
122122
123123 for var_info in self . variants . values ( ) {
124+ let var_name = normalize_caps ( & var_info. name ) ;
124125 write_fmt ! (
125126 self ,
126- " flat::{}::{} => Self::{}," ,
127- self . name,
128- normalize_caps( & var_info. name) ,
129- var_info. name,
127+ " flat::{}::{var_name} => Self::{var_name}," ,
128+ self . name
130129 ) ;
131130 }
132131
@@ -142,12 +141,11 @@ impl<'a> EnumBindGenerator<'a> {
142141 write_str ! ( self , " match py_type {" ) ;
143142
144143 for var_info in self . variants . values ( ) {
144+ let var_name = normalize_caps ( & var_info. name ) ;
145145 write_fmt ! (
146146 self ,
147- " {}::{} => Self::{}," ,
147+ " {}::{var_name } => Self::{var_name }," ,
148148 self . name,
149- var_info. name,
150- normalize_caps( & var_info. name) ,
151149 ) ;
152150 }
153151
@@ -171,7 +169,7 @@ impl<'a> EnumBindGenerator<'a> {
171169 self ,
172170 " {} => Ok(Self::{})," ,
173171 var_num. to_u64( ) ,
174- var_info. name
172+ normalize_caps ( & var_info. name)
175173 ) ;
176174 }
177175
0 commit comments