pub struct Rustc {
pub target: TargetSelection,
pub compiler: Compiler,
crates: Vec<String>,
}
Fields§
§target: TargetSelection
§compiler: Compiler
The previous compiler used to compile this compiler.
crates: Vec<String>
Whether to build a subset of crates, rather than the whole compiler.
This should only be requested by the user, not used within bootstrap itself. Using it within bootstrap can lead to confusing situation where lints are replayed in two different steps.
Implementations§
Trait Implementations§
Source§impl Ord for Rustc
impl Ord for Rustc
Source§impl PartialOrd for Rustc
impl PartialOrd for Rustc
Source§impl Step for Rustc
impl Step for Rustc
Source§type Output = u32
type Output = u32
We return the stage of the “actual” compiler (not the uplifted one).
By “actual” we refer to the uplifting logic where we may not compile the requested stage; instead, we uplift it from the previous stages. Which can lead to bootstrap failures in specific situations where we request stage X from other steps. However we may end up uplifting it from stage Y, causing the other stage to fail when attempting to link with stage X which was never actually built.
Source§fn run(self, builder: &Builder<'_>) -> u32
fn run(self, builder: &Builder<'_>) -> u32
Builds the compiler.
This will build the compiler for a particular stage of the build using
the compiler
targeting the target
architecture. The artifacts
created will also be linked into the sysroot directory.
Source§const ONLY_HOSTS: bool = true
const ONLY_HOSTS: bool = true
Source§const DEFAULT: bool = false
const DEFAULT: bool = false
describe
macro in Builder::get_step_descriptions
. Read moreSource§fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_>
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_>
Step
should be run when given specific paths (e.g., x build $path
).Source§fn make_run(run: RunConfig<'_>)
fn make_run(run: RunConfig<'_>)
Step
handler when not triggered indirectly by other Step
s using Builder::ensure
.
For example, ./x.py test bootstrap
runs this for test::Bootstrap
. Similarly, ./x.py test
runs it for every step
that is listed by the describe
macro in Builder::get_step_descriptions
.impl Eq for Rustc
impl StructuralPartialEq for Rustc
Auto Trait Implementations§
impl Freeze for Rustc
impl RefUnwindSafe for Rustc
impl Send for Rustc
impl Sync for Rustc
impl Unpin for Rustc
impl UnwindSafe for Rustc
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: 96 bytes