pub trait IntoExecutablePath {
// Required method
fn to_executable(self) -> OsString;
}
Expand description
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
.