pub struct Rustc {
pub target: TargetSelection,
crates: Vec<String>,
override_build_kind: Option<Kind>,
}
Fields§
§target: TargetSelection
§crates: Vec<String>
Whether to build only a subset of crates.
This shouldn’t be used from other steps; see the comment on compile::Rustc
.
override_build_kind: Option<Kind>
Override Builder::kind
on cargo invocations.
By default, Builder::kind
is propagated as the subcommand to the cargo invocations.
However, there are cases when this is not desirable. For example, when running x clippy $tool_name
,
passing Builder::kind
to cargo invocations would run clippy on the entire compiler and library,
which is not useful if we only want to lint a few crates with specific rules.
Implementations§
source§impl Rustc
impl Rustc
pub fn new(target: TargetSelection, builder: &Builder<'_>) -> Self
pub fn new_with_build_kind( target: TargetSelection, builder: &Builder<'_>, kind: Option<Kind>, ) -> Self
Trait Implementations§
source§impl Step for Rustc
impl Step for Rustc
source§fn run(self, builder: &Builder<'_>)
fn run(self, builder: &Builder<'_>)
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 = true
const DEFAULT: bool = true
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: 64 bytes