use super::links::Links;
use super::{Kind, Compilation, BuildConfig};
-#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
+#[derive(Clone, Copy, Eq, PartialEq, Hash)]
pub struct Unit<'a> {
pub pkg: &'a Package,
pub target: &'a Target,
// Mix in the target-metadata of all the dependencies of this target
if let Ok(deps) = self.used_deps(unit) {
- debug!("Mixing in units {:?} to {:?}:{:?}", deps.len(), unit.target.name(), unit.target.kind());
let mut deps_metadata = deps.into_iter().map(|dep_unit| {
self.target_metadata(&dep_unit)
}).collect::<Vec<_>>();
channel.hash(&mut hasher);
}
- let x = Metadata(hasher.finish());
- debug!("Produced hash {} for {:?}:{:?}", x, unit.target.name(), unit.target.kind());
- Some(x)
+ Some(Metadata(hasher.finish()))
}
/// Returns the file stem for a given target/profile combo (with metadata)
// Build caller1. should build the dep library. Because the features
// are different than the full workspace, it rebuilds.
+ // Ideally once we solve https://github.com/rust-lang/cargo/issues/3620, then
+ // a single cargo build at the top level will be enough.
assert_that(p.cargo("build").cwd(p.root().join("caller1")),
execs().with_status(0)
.with_stderr("\