Skip to content
Permalink
Browse files

rustc_metadata: Pass SVH by value

  • Loading branch information
petrochenkov committed Nov 24, 2019
1 parent 9be526e commit e4710ade6d384adc922ee423373739005dbc0330
Showing with 10 additions and 11 deletions.
  1. +5 −6 src/librustc_metadata/creader.rs
  2. +5 −5 src/librustc_metadata/locator.rs
@@ -191,14 +191,13 @@ impl<'a> CrateLoader<'a> {
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 => {}
}
@@ -410,10 +409,10 @@ impl<'a> CrateLoader<'a> {
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),
};
@@ -262,8 +262,8 @@ crate struct CrateLocator<'a> {
// 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,
@@ -313,8 +313,8 @@ impl<'a> CrateLocator<'a> {
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,
@@ -792,7 +792,7 @@ impl<'a> CrateLocator<'a> {
}

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 {

0 comments on commit e4710ad

Please sign in to comment.
You can’t perform that action at this time.