diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-07-09 03:14:26 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-07-09 03:14:26 -0400 |
commit | 2510f46e32ade9f7c3f6d2546e8a7338f4c27cd7 (patch) | |
tree | b9cfd00badd10e9805e676ad2c3ea638c032694e /src/eval.rs | |
parent | 4f593b410b7d66a8f5e2d0e970f59854938926a7 (diff) | |
download | nbsh-old-2510f46e32ade9f7c3f6d2546e8a7338f4c27cd7.tar.gz nbsh-old-2510f46e32ade9f7c3f6d2546e8a7338f4c27cd7.zip |
use context instead of map_err for futures and streams
Diffstat (limited to 'src/eval.rs')
-rw-r--r-- | src/eval.rs | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/src/eval.rs b/src/eval.rs index 549650d..af3de9e 100644 --- a/src/eval.rs +++ b/src/eval.rs @@ -1,4 +1,4 @@ -use futures::stream::Stream as _; +use snafu::futures01::StreamExt as _; use snafu::ResultExt as _; #[derive(Debug, snafu::Snafu)] @@ -56,19 +56,11 @@ impl Eval { dyn futures::stream::Stream<Item = CommandEvent, Error = Error> + Send, > = if let Ok(s) = builtin_stream { - Box::new(s.map_err(move |e| Error::BuiltinExecution { - cmd: cmd.clone(), - source: e, - })) + Box::new(s.context(BuiltinExecution { cmd })) } else { let process_stream = crate::process::spawn(&cmd, &args); match process_stream { - Ok(s) => { - Box::new(s.map_err(move |e| Error::ProcessExecution { - cmd: cmd.clone(), - source: e, - })) - } + Ok(s) => Box::new(s.context(ProcessExecution { cmd })), Err(e) => { return Err(e).context(Command { cmd }); } |