diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2019-11-24 15:29:35 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2019-11-28 20:59:57 +0300 |
| commit | e4710ade6d384adc922ee423373739005dbc0330 (patch) | |
| tree | 310dd09aabb9ef258320507f94d9b9a8bbe27703 | |
| parent | 9be526e8ebfd318ecc5c6d5a6c40886dffb1be95 (diff) | |
| download | rust-e4710ade6d384adc922ee423373739005dbc0330.tar.gz rust-e4710ade6d384adc922ee423373739005dbc0330.zip | |
rustc_metadata: Pass SVH by value
| -rw-r--r-- | src/librustc_metadata/creader.rs | 11 | ||||
| -rw-r--r-- | src/librustc_metadata/locator.rs | 10 |
2 files changed, 10 insertions, 11 deletions
diff --git a/src/librustc_metadata/creader.rs b/src/librustc_metadata/creader.rs index 3c5468466e4..22f997ca4e1 100644 --- a/src/librustc_metadata/creader.rs +++ b/src/librustc_metadata/creader.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), }; diff --git a/src/librustc_metadata/locator.rs b/src/librustc_metadata/locator.rs index a7a4a96bb52..c6fb80eca05 100644 --- a/src/librustc_metadata/locator.rs +++ b/src/librustc_metadata/locator.rs @@ -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 { |
