pub enum Mode {
Std,
Rustc,
Codegen,
ToolBootstrap,
ToolStd,
ToolRustc,
}
Expand description
The various “modes” of invoking Cargo.
These entries currently correspond to the various output directories of the build system, with each mod generating output in a different directory.
Variants§
Std
Build the standard library, placing output in the “stageN-std” directory.
Rustc
Build librustc, and compiler libraries, placing output in the “stageN-rustc” directory.
Codegen
Build a codegen backend for rustc, placing the output in the “stageN-codegen” directory.
ToolBootstrap
Build a tool, placing output in the “stage0-bootstrap-tools” directory. This is for miscellaneous sets of tools that are built using the bootstrap stage0 compiler in its entirety (target libraries and all). Typically these tools compile with stable Rust.
Only works for stage 0.
ToolStd
Build a tool which uses the locally built std, placing output in the “stageN-tools” directory. Its usage is quite rare, mainly used by compiletest which needs libtest.
ToolRustc
Build a tool which uses the locally built rustc and the target std, placing the output in the “stageN-tools” directory. This is used for anything that needs a fully functional rustc, such as rustdoc, clippy, cargo, rls, rustfmt, miri, etc.
Implementations§
Trait Implementations§
source§impl Ord for Mode
impl Ord for Mode
source§impl PartialOrd for Mode
impl PartialOrd for Mode
impl Copy for Mode
impl Eq for Mode
impl StructuralPartialEq for Mode
Auto Trait Implementations§
impl Freeze for Mode
impl RefUnwindSafe for Mode
impl Send for Mode
impl Sync for Mode
impl Unpin for Mode
impl UnwindSafe for Mode
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Pointable for T
impl<T> Pointable for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 1 byte
Size for each variant:
Std
: 0 bytesRustc
: 0 bytesCodegen
: 0 bytesToolBootstrap
: 0 bytesToolStd
: 0 bytesToolRustc
: 0 bytes