self.cstore
}
- fn existing_match(&self, name: Symbol, hash: Option<&Svh>, kind: PathKind)
- -> Option<CrateNum> {
+ fn existing_match(&self, name: Symbol, hash: Option<Svh>, kind: PathKind) -> Option<CrateNum> {
let mut ret = None;
self.cstore.iter_crate_data(|cnum, data| {
if data.name() != name { return }
match hash {
- Some(hash) if *hash == data.hash() => { ret = Some(cnum); return }
+ Some(hash) if hash == data.hash() => { ret = Some(cnum); return }
Some(..) => return,
None => {}
}
let (root, hash, host_hash, extra_filename, path_kind) = match dep {
Some((root, dep)) => (
Some(root),
- Some(&dep.hash),
- dep.host_hash.as_ref(),
+ Some(dep.hash),
+ dep.host_hash,
Some(&dep.extra_filename[..]),
- PathKind::Dependency
+ PathKind::Dependency,
),
None => (None, None, None, None, PathKind::Crate),
};
// Immutable per-search configuration.
crate_name: Symbol,
exact_paths: Vec<PathBuf>,
- pub hash: Option<&'a Svh>,
- pub host_hash: Option<&'a Svh>,
+ pub hash: Option<Svh>,
+ pub host_hash: Option<Svh>,
extra_filename: Option<&'a str>,
pub target: &'a Target,
pub triple: TargetTriple,
sess: &'a Session,
metadata_loader: &'a dyn MetadataLoader,
crate_name: Symbol,
- hash: Option<&'a Svh>,
- host_hash: Option<&'a Svh>,
+ hash: Option<Svh>,
+ host_hash: Option<Svh>,
extra_filename: Option<&'a str>,
is_host: bool,
path_kind: PathKind,
}
let hash = root.hash();
- if let Some(&expected_hash) = self.hash {
+ if let Some(expected_hash) = self.hash {
if hash != expected_hash {
info!("Rejecting via hash: expected {} got {}", expected_hash, hash);
self.rejected_via_hash.push(CrateMismatch {