From 83155498386900c0831ab7433b38acbfaccee8ae Mon Sep 17 00:00:00 2001 From: Steppy Date: Tue, 4 Feb 2025 23:52:06 +0100 Subject: [PATCH] Make into_result_with_error_logging available for every MaybeCast type --- src/shell_interface.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/shell_interface.rs b/src/shell_interface.rs index d16dd5b..8487f50 100644 --- a/src/shell_interface.rs +++ b/src/shell_interface.rs @@ -202,15 +202,20 @@ impl CommandResult { } } -impl CommandResult> { +impl CommandResult> { pub fn into_result_with_error_logging( self, logger: &Logger, - ) -> Result>> { + ) -> Result>> + where + T: MaybeCast, + { self.result.map_err(|error| { - if let ExecutionError::BadExitStatus(output) = &error { - log!(logger, error, "{}", output.stdout.to_string_lossy()); - log!(logger, error, "{}", output.stderr.to_string_lossy()); + if let ExecutionError::BadExitStatus(t) = &error { + if let Some(output) = t.maybe_cast() { + log!(logger, error, "{}", output.stdout.to_string_lossy()); + log!(logger, error, "{}", output.stderr.to_string_lossy()); + } } CommandError { command: self.command,