Remove DontDistWithMiri struct and instead just directly check it in builder
This commit is contained in:
@@ -286,8 +286,7 @@ impl<'a> Builder<'a> {
|
|||||||
doc::Reference, doc::Rustdoc, doc::RustByExample, doc::CargoBook),
|
doc::Reference, doc::Rustdoc, doc::RustByExample, doc::CargoBook),
|
||||||
Kind::Dist => describe!(dist::Docs, dist::Mingw, dist::Rustc, dist::DebuggerScripts,
|
Kind::Dist => describe!(dist::Docs, dist::Mingw, dist::Rustc, dist::DebuggerScripts,
|
||||||
dist::Std, dist::Analysis, dist::Src, dist::PlainSourceTarball, dist::Cargo,
|
dist::Std, dist::Analysis, dist::Src, dist::PlainSourceTarball, dist::Cargo,
|
||||||
dist::Rls, dist::Rustfmt, dist::Extended, dist::HashSign,
|
dist::Rls, dist::Rustfmt, dist::Extended, dist::HashSign),
|
||||||
dist::DontDistWithMiriEnabled),
|
|
||||||
Kind::Install => describe!(install::Docs, install::Std, install::Cargo, install::Rls,
|
Kind::Install => describe!(install::Docs, install::Std, install::Cargo, install::Rls,
|
||||||
install::Rustfmt, install::Analysis, install::Src, install::Rustc),
|
install::Rustfmt, install::Analysis, install::Src, install::Rustc),
|
||||||
}
|
}
|
||||||
@@ -344,6 +343,12 @@ impl<'a> Builder<'a> {
|
|||||||
stack: RefCell::new(Vec::new()),
|
stack: RefCell::new(Vec::new()),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if kind == Kind::Dist {
|
||||||
|
assert!(!build.config.test_miri, "Do not distribute with miri enabled.\n\
|
||||||
|
The distributed libraries would include all MIR (increasing binary size).
|
||||||
|
The distributed MIR would include validation statements.");
|
||||||
|
}
|
||||||
|
|
||||||
StepDescription::run(&Builder::get_step_descriptions(builder.kind), &builder, paths);
|
StepDescription::run(&Builder::get_step_descriptions(builder.kind), &builder, paths);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1233,31 +1233,6 @@ impl Step for Rustfmt {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
|
|
||||||
pub struct DontDistWithMiriEnabled;
|
|
||||||
|
|
||||||
impl Step for DontDistWithMiriEnabled {
|
|
||||||
type Output = PathBuf;
|
|
||||||
const DEFAULT: bool = true;
|
|
||||||
|
|
||||||
fn should_run(run: ShouldRun) -> ShouldRun {
|
|
||||||
let build_miri = run.builder.build.config.test_miri;
|
|
||||||
run.default_condition(build_miri)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn make_run(run: RunConfig) {
|
|
||||||
run.builder.ensure(DontDistWithMiriEnabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
fn run(self, _: &Builder) -> PathBuf {
|
|
||||||
panic!("Do not distribute with miri enabled.\n\
|
|
||||||
The distributed libraries would include all MIR (increasing binary size).
|
|
||||||
The distributed MIR would include validation statements.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
|
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
|
||||||
pub struct Extended {
|
pub struct Extended {
|
||||||
stage: u32,
|
stage: u32,
|
||||||
|
|||||||
Reference in New Issue
Block a user