From ac19dd1b91ee29bf67c44503c99297483df5c374 Mon Sep 17 00:00:00 2001 From: Daniel Mueller Date: Thu, 3 Sep 2020 08:39:04 -0700 Subject: Remove Stdio trait With the switch from argparse over to structopt a while back the need for the Stdio trait that we used for abstracting over the different contexts vanished. With this change we remove the trait and its various implementations. --- src/main.rs | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/src/main.rs b/src/main.rs index b53358e..9e52613 100644 --- a/src/main.rs +++ b/src/main.rs @@ -85,25 +85,6 @@ const NITROCLI_NEW_ADMIN_PIN: &str = "NITROCLI_NEW_ADMIN_PIN"; const NITROCLI_NEW_USER_PIN: &str = "NITROCLI_NEW_USER_PIN"; const NITROCLI_PASSWORD: &str = "NITROCLI_PASSWORD"; -trait Stdio { - fn stdio(&mut self) -> (&mut dyn io::Write, &mut dyn io::Write); -} - -impl<'io> Stdio for RunCtx<'io> { - fn stdio(&mut self) -> (&mut dyn io::Write, &mut dyn io::Write) { - (self.stdout, self.stderr) - } -} - -impl Stdio for (&mut W, &mut W) -where - W: io::Write, -{ - fn stdio(&mut self) -> (&mut dyn io::Write, &mut dyn io::Write) { - (self.0, self.1) - } -} - /// A command execution context that captures additional data pertaining /// the command execution. #[allow(missing_debug_implementations)] @@ -126,12 +107,6 @@ pub struct ExecCtx<'io> { pub config: config::Config, } -impl<'io> Stdio for ExecCtx<'io> { - fn stdio(&mut self) -> (&mut dyn io::Write, &mut dyn io::Write) { - (self.stdout, self.stderr) - } -} - /// Parse the command-line arguments and execute the selected command. fn handle_arguments(ctx: &mut RunCtx<'_>, args: Vec) -> anyhow::Result<()> { use structopt::StructOpt; -- cgit v1.2.3