From 4b34aecec66c9123399f14a8f75ee8d0aff47a44 Mon Sep 17 00:00:00 2001 From: Jonas Maier <> Date: Sat, 7 Mar 2026 10:06:19 +0100 Subject: some warnings gone --- src/parse.rs | 6 ------ src/run/mod.rs | 14 +++++++++++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/parse.rs b/src/parse.rs index b1721be..809f76b 100644 --- a/src/parse.rs +++ b/src/parse.rs @@ -103,12 +103,6 @@ impl FunDecl { } } -#[derive(Debug, Clone)] -pub struct VarDecl { - pub name: S::Str, - pub val: S::Str, -} - #[derive(Debug, Clone)] pub struct VarAssign { pub var: S::Str, diff --git a/src/run/mod.rs b/src/run/mod.rs index 3803936..2d137c6 100644 --- a/src/run/mod.rs +++ b/src/run/mod.rs @@ -166,8 +166,16 @@ impl Executor { } else { let mut code = 0; for jh in threads { - // TODO do not ignore panics - let _ = jh.join(); + match jh.join() { + Ok(Ok(())) => (), + Ok(Err(e)) => { + match e { + BuiltinError::IO(_) => code = -1, + BuiltinError::Exit(c) => code = c, + } + } + Err(_) => code = 127, + } } for child in children.iter_mut() { match child.wait() { @@ -258,7 +266,7 @@ pub fn run(se: Arc>, cmd: Vec) { } #[derive(Debug)] -enum BuiltinError { +pub enum BuiltinError { IO(std::io::Error), Exit(i32), } -- cgit v1.2.3