self.builder.build.build
}
- /// Return a `-p=x -p=y` string suitable for passing to a cargo invocation.
+ /// Return a list of crate names selected by `run.paths`.
pub fn cargo_crates_in_set(&self) -> Interned<Vec<String>> {
let mut crates = Vec::new();
for krate in &self.paths {
let path = krate.assert_single_path();
let crate_name = self.builder.crate_paths[&path.path];
- crates.push(format!("-p={crate_name}"));
+ crates.push(crate_name.to_string());
}
INTERNER.intern_list(crates)
}
/// A description of the crates in this set, suitable for passing to `builder.info`.
///
/// `crates` should be generated by [`RunConfig::cargo_crates_in_set`].
-pub fn crate_description(crates: Interned<Vec<String>>) -> String {
+pub fn crate_description(crates: &[impl AsRef<str>]) -> String {
if crates.is_empty() {
return "".into();
}
- let mut descr = String::from(": {");
- for krate in &*crates {
- write!(descr, "{}, ", krate.strip_prefix("-p=").unwrap()).unwrap();
+ let mut descr = String::from(" {");
+ descr.push_str(crates[0].as_ref());
+ for krate in &crates[1..] {
+ descr.push_str(", ");
+ descr.push_str(krate.as_ref());
}
-
- descr.pop();
- descr.pop();
descr.push('}');
descr
}
crate::toolstate::ToolStateCheck,
test::ExpandYamlAnchors,
test::Tidy,
+ test::TidySelfTest,
test::Ui,
test::RunPassValgrind,
test::MirOpt,