// args that do not depend on whether we are calling "one" or "many"
args that do not depend on whether we are calling "one" or "many"
args that do not depend on whether we are calling " one " or " many "
fn base_cmd(&self) -> Command
    {
        // args specific to copy vs move, but valid for both "one and many"
        let mut cmd = match self.copy {
            true => {
                let mut cmd = Command::new("cp");
                cmd.arg("--archive");
                if self.link { cmd.arg("--link"); }
                if self.dereference { cmd.arg("--dereference"); }
                cmd
            },
            false => {
                let cmd = Command::new("mv");
                // no API should have been provided to set these
                assert!(!self.link);
                assert!(!self.dereference);
                cmd
            },
        };
        // args valid for both copy and move, and both one and many
        if !self.clobber { cmd.arg("--no-clobber"); }
        cmd
    }
fn base_cmd ( & self ) -> Command { // args specific to copy vs move, but valid for both "one and many" let mut cmd = match self . copy { true => { let mut cmd = Command :: new ( " " ) ; cmd . arg ( " " ) ; if self . link { cmd . arg ( " " ) ; } if self . dereference { cmd . arg ( " " ) ; } cmd } , false => { let cmd = Command :: new ( " " ) ; // no API should have been provided to set these assert ! ( self link ) ; assert ! ( self dereference ) ; cmd } , } ; // args valid for both copy and move, and both one and many if ! self . clobber { cmd . arg ( " " ) ; } cmd }
args that do not depend on whether we are calling "one" or "many"
args that do not depend on whether we are calling " one " or " many "
&self