@@ -138,6 +138,7 @@ pub trait ExecutionStrategy {
138138 input : Buffer < u8 > ,
139139 run_client : extern "C" fn ( Bridge < ' _ > , D ) -> Buffer < u8 > ,
140140 client_data : D ,
141+ force_show_panics : bool ,
141142 ) -> Buffer < u8 > ;
142143}
143144
@@ -150,10 +151,14 @@ impl ExecutionStrategy for SameThread {
150151 input : Buffer < u8 > ,
151152 run_client : extern "C" fn ( Bridge < ' _ > , D ) -> Buffer < u8 > ,
152153 client_data : D ,
154+ force_show_panics : bool ,
153155 ) -> Buffer < u8 > {
154156 let mut dispatch = |b| dispatcher. dispatch ( b) ;
155157
156- run_client ( Bridge { cached_buffer : input, dispatch : ( & mut dispatch) . into ( ) } , client_data)
158+ run_client (
159+ Bridge { cached_buffer : input, dispatch : ( & mut dispatch) . into ( ) , force_show_panics } ,
160+ client_data,
161+ )
157162 }
158163}
159164
@@ -169,6 +174,7 @@ impl ExecutionStrategy for CrossThread1 {
169174 input : Buffer < u8 > ,
170175 run_client : extern "C" fn ( Bridge < ' _ > , D ) -> Buffer < u8 > ,
171176 client_data : D ,
177+ force_show_panics : bool ,
172178 ) -> Buffer < u8 > {
173179 use std:: sync:: mpsc:: channel;
174180
@@ -182,7 +188,11 @@ impl ExecutionStrategy for CrossThread1 {
182188 } ;
183189
184190 run_client (
185- Bridge { cached_buffer : input, dispatch : ( & mut dispatch) . into ( ) } ,
191+ Bridge {
192+ cached_buffer : input,
193+ dispatch : ( & mut dispatch) . into ( ) ,
194+ force_show_panics,
195+ } ,
186196 client_data,
187197 )
188198 } ) ;
@@ -204,6 +214,7 @@ impl ExecutionStrategy for CrossThread2 {
204214 input : Buffer < u8 > ,
205215 run_client : extern "C" fn ( Bridge < ' _ > , D ) -> Buffer < u8 > ,
206216 client_data : D ,
217+ force_show_panics : bool ,
207218 ) -> Buffer < u8 > {
208219 use std:: sync:: { Arc , Mutex } ;
209220
@@ -229,7 +240,11 @@ impl ExecutionStrategy for CrossThread2 {
229240 } ;
230241
231242 let r = run_client (
232- Bridge { cached_buffer : input, dispatch : ( & mut dispatch) . into ( ) } ,
243+ Bridge {
244+ cached_buffer : input,
245+ dispatch : ( & mut dispatch) . into ( ) ,
246+ force_show_panics,
247+ } ,
233248 client_data,
234249 ) ;
235250
@@ -268,14 +283,21 @@ fn run_server<
268283 input : I ,
269284 run_client : extern "C" fn ( Bridge < ' _ > , D ) -> Buffer < u8 > ,
270285 client_data : D ,
286+ force_show_panics : bool ,
271287) -> Result < O , PanicMessage > {
272288 let mut dispatcher =
273289 Dispatcher { handle_store : HandleStore :: new ( handle_counters) , server : MarkedTypes ( server) } ;
274290
275291 let mut b = Buffer :: new ( ) ;
276292 input. encode ( & mut b, & mut dispatcher. handle_store ) ;
277293
278- b = strategy. run_bridge_and_client ( & mut dispatcher, b, run_client, client_data) ;
294+ b = strategy. run_bridge_and_client (
295+ & mut dispatcher,
296+ b,
297+ run_client,
298+ client_data,
299+ force_show_panics,
300+ ) ;
279301
280302 Result :: decode ( & mut & b[ ..] , & mut dispatcher. handle_store )
281303}
@@ -286,6 +308,7 @@ impl client::Client<fn(crate::TokenStream) -> crate::TokenStream> {
286308 strategy : & impl ExecutionStrategy ,
287309 server : S ,
288310 input : S :: TokenStream ,
311+ force_show_panics : bool ,
289312 ) -> Result < S :: TokenStream , PanicMessage > {
290313 let client:: Client { get_handle_counters, run, f } = * self ;
291314 run_server (
@@ -295,6 +318,7 @@ impl client::Client<fn(crate::TokenStream) -> crate::TokenStream> {
295318 <MarkedTypes < S > as Types >:: TokenStream :: mark ( input) ,
296319 run,
297320 f,
321+ force_show_panics,
298322 )
299323 . map ( <MarkedTypes < S > as Types >:: TokenStream :: unmark)
300324 }
@@ -307,6 +331,7 @@ impl client::Client<fn(crate::TokenStream, crate::TokenStream) -> crate::TokenSt
307331 server : S ,
308332 input : S :: TokenStream ,
309333 input2 : S :: TokenStream ,
334+ force_show_panics : bool ,
310335 ) -> Result < S :: TokenStream , PanicMessage > {
311336 let client:: Client { get_handle_counters, run, f } = * self ;
312337 run_server (
@@ -319,6 +344,7 @@ impl client::Client<fn(crate::TokenStream, crate::TokenStream) -> crate::TokenSt
319344 ) ,
320345 run,
321346 f,
347+ force_show_panics,
322348 )
323349 . map ( <MarkedTypes < S > as Types >:: TokenStream :: unmark)
324350 }
0 commit comments