pub trait Step:
'static
+ Clone
+ Debug
+ PartialEq
+ Eq
+ Hash {
type Output: Clone;
// Required method
fn run(self, builder: &Builder<'_>) -> Self::Output;
// Provided method
fn metadata(&self) -> Option<StepMetadata> { ... }
}Expand description
A unit of work within bootstrap that is cached to avoid redundant execution.
Steps can be performed via Builder::ensure.
Historically, steps also participated in command-line processing.
That responsibility has been split off into the larger CommandLineStep trait,
which helper steps don’t need to implement.
Required Associated Types§
Required Methods§
Sourcefn run(self, builder: &Builder<'_>) -> Self::Output
fn run(self, builder: &Builder<'_>) -> Self::Output
Executes this step.
Called by Builder::ensure if no cached result was found for this step.
Provided Methods§
Sourcefn metadata(&self) -> Option<StepMetadata>
fn metadata(&self) -> Option<StepMetadata>
Returns metadata of the step, for tests.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
Source§impl Step for LibcxxVersionTool
impl Step for LibcxxVersionTool
type Output = LibcxxVersion
Source§impl Step for MirOptPanicAbortSyntheticTarget
impl Step for MirOptPanicAbortSyntheticTarget
type Output = TargetSelection
Source§impl Step for PrepareRustcRmetaSysroot
impl Step for PrepareRustcRmetaSysroot
type Output = RmetaSysroot
Source§impl Step for PrepareStdRmetaSysroot
impl Step for PrepareStdRmetaSysroot
type Output = RmetaSysroot
Source§impl Step for SetupFailedTestsFile
impl Step for SetupFailedTestsFile
type Output = RecordFailedTests
type Output = SharedAssetsPaths
Source§impl<P: CommandLineStep> Step for RustbookSrc<P>
impl<P: CommandLineStep> Step for RustbookSrc<P>
Source§impl<S: CommandLineStep> Step for S
Every CommandLineStep is also a Step.
impl<S: CommandLineStep> Step for S
Every CommandLineStep is also a Step.