Trait duct::IntoExecutablePath[][src]

pub trait IntoExecutablePath {
    fn to_executable(self) -> OsString;
}

An implementation detail of cmd, to distinguish paths from other string types.

Path("foo.sh") means the file named foo.sh in the current directory. However if you try to execute that path with std::process::Command, Unix will get upset that it doesn't have a leading ./. Rust knows that the string is a path, but that distinction gets lost by the time execution happens.

To execute relative paths correctly, duct prepends the ./ to them automatically. This trait captures the distinction between the path types and other types of strings, which don't get modified. See the trait bounds on cmd.

Required methods

Loading content...

Implementations on Foreign Types

impl<'a> IntoExecutablePath for &'a Path[src]

impl IntoExecutablePath for PathBuf[src]

impl<'a> IntoExecutablePath for &'a PathBuf[src]

impl<'a> IntoExecutablePath for &'a str[src]

impl IntoExecutablePath for String[src]

impl<'a> IntoExecutablePath for &'a String[src]

impl<'a> IntoExecutablePath for &'a OsStr[src]

impl IntoExecutablePath for OsString[src]

impl<'a> IntoExecutablePath for &'a OsString[src]

Loading content...

Implementors

Loading content...