pub trait Toolchain: Send + Sync {
type Installation: Installation;
// Required method
fn check(
&self,
) -> impl Future<Output = Result<(), ToolchainError<Self::Installation>>> + Send;
}Expand description
Trait for toolchain dependencies that can be checked and installed.
Implementors represent a specific toolchain configuration (e.g., Rust with
certain targets, Android SDK with specific components).
The associated Installation type preserves full type information through
the composition, enabling zero-cost abstractions for parallel/sequential
installation plans.
Required Associated Types§
Sourcetype Installation: Installation
type Installation: Installation
The installation type returned by fix().
Required Methods§
Sourcefn check(
&self,
) -> impl Future<Output = Result<(), ToolchainError<Self::Installation>>> + Send
fn check( &self, ) -> impl Future<Output = Result<(), ToolchainError<Self::Installation>>> + Send
Check if the toolchain is properly installed.
Returns Ok(()) if all components are available, or Err describing
what is missing.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.