aboutsummaryrefslogtreecommitdiff
path: root/mingling_core/src/program/repl_exec.rs
diff options
context:
space:
mode:
Diffstat (limited to 'mingling_core/src/program/repl_exec.rs')
-rw-r--r--mingling_core/src/program/repl_exec.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/mingling_core/src/program/repl_exec.rs b/mingling_core/src/program/repl_exec.rs
index ea36c75..fe29d16 100644
--- a/mingling_core/src/program/repl_exec.rs
+++ b/mingling_core/src/program/repl_exec.rs
@@ -35,6 +35,7 @@ where
self.exec_wrapper(async |p| -> () {
repl_loop(p).await;
})
+ .await
else
self.exec_wrapper(|p| -> () { repl_loop(p); }
)
@@ -65,8 +66,13 @@ where
result: &r,
});
}
+ #[allow(unused_variables)]
Err(ProgramInternalExecuteError::REPLPanic(panic)) => {
- p.run_hook_repl_on_panic(&crate::hook::HookREPLOnPanicInfo { panic: &panic });
+ might_be_async::select![
+ {} else {
+ p.run_hook_repl_on_panic(&crate::hook::HookREPLOnPanicInfo { panic: &panic });
+ }
+ ];
}
_ => {}
}
@@ -128,5 +134,5 @@ async fn exec_once<C>(
where
C: ProgramCollect<Enum = C> + Send + Sync + 'static,
{
- super::exec::exec_with_args(p, &args).await
+ super::exec::exec_with_args(p, args).await
}