diff --git a/library/proc_macro/src/bridge/client.rs b/library/proc_macro/src/bridge/client.rs index 421dd30273f..068f3e241be 100644 --- a/library/proc_macro/src/bridge/client.rs +++ b/library/proc_macro/src/bridge/client.rs @@ -427,11 +427,7 @@ impl Client { Client { get_handle_counters: HandleCounters::get, run: super::selfless_reify::reify_to_extern_c_fn_hrt_bridge(move |bridge| { - run_client(bridge, |input| { - f(crate::TokenStream(Some(input))) - .0 - .unwrap_or_else(|| TokenStream::concat_streams(None, vec![])) - }) + run_client(bridge, |input| f(crate::TokenStream(Some(input))).0) }), _marker: PhantomData, } @@ -446,9 +442,7 @@ impl Client<(crate::TokenStream, crate::TokenStream), crate::TokenStream> { get_handle_counters: HandleCounters::get, run: super::selfless_reify::reify_to_extern_c_fn_hrt_bridge(move |bridge| { run_client(bridge, |(input, input2)| { - f(crate::TokenStream(Some(input)), crate::TokenStream(Some(input2))) - .0 - .unwrap_or_else(|| TokenStream::concat_streams(None, vec![])) + f(crate::TokenStream(Some(input)), crate::TokenStream(Some(input2))).0 }) }), _marker: PhantomData, diff --git a/library/proc_macro/src/bridge/server.rs b/library/proc_macro/src/bridge/server.rs index d98def36a3c..3672299f18f 100644 --- a/library/proc_macro/src/bridge/server.rs +++ b/library/proc_macro/src/bridge/server.rs @@ -273,13 +273,17 @@ fn run_server< } impl client::Client { - pub fn run( + pub fn run( &self, strategy: &impl ExecutionStrategy, server: S, input: S::TokenStream, force_show_panics: bool, - ) -> Result { + ) -> Result + where + S: Server, + S::TokenStream: Default, + { let client::Client { get_handle_counters, run, _marker } = *self; run_server( strategy, @@ -289,19 +293,23 @@ impl client::Client { run, force_show_panics, ) - .map( as Types>::TokenStream::unmark) + .map(|s| as Types>::TokenStream>>::unmark(s).unwrap_or_default()) } } impl client::Client<(crate::TokenStream, crate::TokenStream), crate::TokenStream> { - pub fn run( + pub fn run( &self, strategy: &impl ExecutionStrategy, server: S, input: S::TokenStream, input2: S::TokenStream, force_show_panics: bool, - ) -> Result { + ) -> Result + where + S: Server, + S::TokenStream: Default, + { let client::Client { get_handle_counters, run, _marker } = *self; run_server( strategy, @@ -314,6 +322,6 @@ impl client::Client<(crate::TokenStream, crate::TokenStream), crate::TokenStream run, force_show_panics, ) - .map( as Types>::TokenStream::unmark) + .map(|s| as Types>::TokenStream>>::unmark(s).unwrap_or_default()) } }