diff options
| author | Aaron Hill <aa1ronham@gmail.com> | 2019-03-24 23:06:32 -0400 |
|---|---|---|
| committer | Aaron Hill <aa1ronham@gmail.com> | 2019-04-14 00:37:25 -0400 |
| commit | 7cc3ce3bbd59f0b5876a5d3c0b02aa8f893a2bdd (patch) | |
| tree | e97d054a265d319ba16a1951ee7cb3061ee4b740 /src/librustc_metadata | |
| parent | 21491dc7012ae50ecdc694b5ee664ecc502ae2c5 (diff) | |
| download | rust-7cc3ce3bbd59f0b5876a5d3c0b02aa8f893a2bdd.tar.gz rust-7cc3ce3bbd59f0b5876a5d3c0b02aa8f893a2bdd.zip | |
Combine 'Extern' and 'ExternPrivate'
Diffstat (limited to 'src/librustc_metadata')
| -rw-r--r-- | src/librustc_metadata/creader.rs | 11 | ||||
| -rw-r--r-- | src/librustc_metadata/locator.rs | 4 |
2 files changed, 8 insertions, 7 deletions
diff --git a/src/librustc_metadata/creader.rs b/src/librustc_metadata/creader.rs index 53348e75aa9..7c5b5dc7113 100644 --- a/src/librustc_metadata/creader.rs +++ b/src/librustc_metadata/creader.rs @@ -133,7 +133,7 @@ impl<'a> CrateLoader<'a> { let source = &self.cstore.get_crate_data(cnum).source; if let Some(locs) = self.sess.opts.externs.get(&*name.as_str()) { // Only use `--extern crate_name=path` here, not `--extern crate_name`. - let found = locs.iter().filter_map(|l| l.as_ref()).any(|l| { + let found = locs.iter().filter_map(|l| l.location.as_ref()).any(|l| { let l = fs::canonicalize(l).ok(); source.dylib.as_ref().map(|p| &p.0) == l.as_ref() || source.rlib.as_ref().map(|p| &p.0) == l.as_ref() @@ -202,13 +202,14 @@ impl<'a> CrateLoader<'a> { self.verify_no_symbol_conflicts(span, &crate_root); let mut private_dep = false; - if let Some(s) = self.sess.opts.extern_private.get(&name.as_str()) { - for path in s { - let p = Some(path.as_str()); + if let Some(s) = self.sess.opts.externs.get(&name.as_str()) { + for entry in s { + let p = entry.location.as_ref().map(|s| s.as_str()); if p == lib.dylib.as_ref().and_then(|r| r.0.to_str()) || p == lib.rlib.as_ref().and_then(|r| r.0.to_str()) { - private_dep = true; + private_dep = !entry.public; + break; } } } diff --git a/src/librustc_metadata/locator.rs b/src/librustc_metadata/locator.rs index 81878c4f687..f56ca5af76e 100644 --- a/src/librustc_metadata/locator.rs +++ b/src/librustc_metadata/locator.rs @@ -444,9 +444,9 @@ impl<'a> Context<'a> { self.should_match_name = false; if let Some(s) = self.sess.opts.externs.get(&self.crate_name.as_str()) { // Only use `--extern crate_name=path` here, not `--extern crate_name`. - if s.iter().any(|l| l.is_some()) { + if s.iter().any(|l| l.location.is_some()) { return self.find_commandline_library( - s.iter().filter_map(|l| l.as_ref()), + s.iter().filter_map(|l| l.location.as_ref()), ); } } |
