pub trait Installation: Send + Sync {
type Error: Into<Report> + Send;
// Required method
fn install(
&self,
host: &Host,
) -> impl Future<Output = Result<(), Self::Error>> + Send;
// Provided method
fn modifies_system(&self) -> bool { ... }
}Expand description
Trait representing an installation plan for toolchain components.
Required Associated Types§
Required Methods§
Provided Methods§
Sourcefn modifies_system(&self) -> bool
fn modifies_system(&self) -> bool
Whether running the plan modifies the machine outside ~/.water
(system package managers, msiexec, the Visual Studio installer).
water doctor --fix requires an interactive confirmation or --yes
before it runs such a plan.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl Installation for ()
impl Installation for ()
Source§impl Installation for Infallible
impl Installation for Infallible
Source§impl<I: Installation> Installation for Option<I>
Optional installation step.
impl<I: Installation> Installation for Option<I>
Optional installation step.
This is used by composite toolchains (e.g. tuples) to represent “install if missing”.