pub struct Plan {
pub program: OsString,
pub args: Vec<OsString>,
pub cwd: Option<PathBuf>,
}Expand description
What to run, resolved from whatever a plugin answered or the project defined.
Deliberately this crate’s own type rather than the contract’s: execution needs three fields and no knowledge of plugins, and keeping it that way is what lets the whole run path be tested without a plugin at all.
Fields§
§program: OsStringThe executable, as written: a bare name (looked up on PATH), an absolute path, or one
relative to Plan::cwd.
args: Vec<OsString>Arguments, in order, handed over verbatim.
cwd: Option<PathBuf>Where to run it. None means the fallback the caller passes to run.
Implementations§
Trait Implementations§
impl Eq for Plan
impl StructuralPartialEq for Plan
Auto Trait Implementations§
impl Freeze for Plan
impl RefUnwindSafe for Plan
impl Send for Plan
impl Sync for Plan
impl Unpin for Plan
impl UnsafeUnpin for Plan
impl UnwindSafe for Plan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more