@@ -44,7 +44,7 @@ pub(crate) fn expand_export(
4444 ExportItem :: Impl { items, self_ident } => {
4545 let item_tokens: TokenStream = items
4646 . into_iter ( )
47- . map ( |item| match item? {
47+ . map ( |item| match item {
4848 ImplItem :: Constructor ( sig) => gen_constructor_scaffolding ( sig, & args) ,
4949 ImplItem :: Method ( sig) => gen_method_scaffolding ( sig, & args) ,
5050 } )
@@ -77,7 +77,7 @@ pub(crate) fn expand_export(
7777
7878 let impl_tokens: TokenStream = items
7979 . into_iter ( )
80- . map ( |item| match item? {
80+ . map ( |item| match item {
8181 ImplItem :: Method ( sig) => gen_method_scaffolding ( sig, & args) ,
8282 _ => unreachable ! ( "traits have no constructors" ) ,
8383 } )
@@ -112,28 +112,15 @@ pub(crate) fn expand_export(
112112 Span :: call_site ( ) ,
113113 ) ;
114114
115- let items = items. into_iter ( ) . collect :: < syn:: Result < Vec < _ > > > ( ) ;
116- let trait_impl_and_metadata_tokens = match items {
117- Ok ( items) => {
118- let trait_impl = callback_interface:: trait_impl (
119- & trait_impl_ident,
120- & self_ident,
121- & internals_ident,
122- & items,
123- )
124- . unwrap_or_else ( |e| e. into_compile_error ( ) ) ;
125- let metadata_items =
126- callback_interface:: metadata_items ( & self_ident, & items, & mod_path)
127- . unwrap_or_else ( |e| vec ! [ e. into_compile_error( ) ] ) ;
128-
129- quote ! {
130- #trait_impl
131-
132- #( #metadata_items) *
133- }
134- }
135- Err ( e) => e. into_compile_error ( ) ,
136- } ;
115+ let trait_impl = callback_interface:: trait_impl (
116+ & trait_impl_ident,
117+ & self_ident,
118+ & internals_ident,
119+ & items,
120+ )
121+ . unwrap_or_else ( |e| e. into_compile_error ( ) ) ;
122+ let metadata_items = callback_interface:: metadata_items ( & self_ident, & items, & mod_path)
123+ . unwrap_or_else ( |e| vec ! [ e. into_compile_error( ) ] ) ;
137124
138125 let init_ident = Ident :: new (
139126 & uniffi_meta:: init_callback_fn_symbol_name ( & mod_path, & trait_name) ,
@@ -150,7 +137,9 @@ pub(crate) fn expand_export(
150137 #internals_ident. set_callback( callback) ;
151138 }
152139
153- #trait_impl_and_metadata_tokens
140+ #trait_impl
141+
142+ #( #metadata_items) *
154143 } )
155144 }
156145 }
0 commit comments