diff options
| author | Aaron Hill <aa1ronham@gmail.com> | 2019-04-07 19:15:32 -0400 |
|---|---|---|
| committer | Aaron Hill <aa1ronham@gmail.com> | 2019-04-14 15:45:18 -0400 |
| commit | 724f6a11b3b9ea7c267c8f009f2e6958e6286e5f (patch) | |
| tree | 2d91a87ef64400a9db06745d8bc44b613962405b | |
| parent | 482b77a1470681da08748f1461c598eb8e48615b (diff) | |
| download | rust-724f6a11b3b9ea7c267c8f009f2e6958e6286e5f.tar.gz rust-724f6a11b3b9ea7c267c8f009f2e6958e6286e5f.zip | |
Update rustdoc to new ExternEntry format
| -rw-r--r-- | src/librustdoc/config.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/librustdoc/config.rs b/src/librustdoc/config.rs index fae07be1017..8a669cad514 100644 --- a/src/librustdoc/config.rs +++ b/src/librustdoc/config.rs @@ -578,7 +578,7 @@ fn parse_extern_html_roots( /// error message. // FIXME(eddyb) This shouldn't be duplicated with `rustc::session`. fn parse_externs(matches: &getopts::Matches) -> Result<Externs, String> { - let mut externs: BTreeMap<_, BTreeSet<_>> = BTreeMap::new(); + let mut externs: BTreeMap<_, ExternEntry> = BTreeMap::new(); for arg in &matches.opt_strs("extern") { let mut parts = arg.splitn(2, '='); let name = parts.next().ok_or("--extern value must not be empty".to_string())?; @@ -589,7 +589,13 @@ fn parse_externs(matches: &getopts::Matches) -> Result<Externs, String> { } let name = name.to_string(); // For Rustdoc purposes, we can treat all externs as public - externs.entry(name).or_default().insert(ExternEntry { location, public: true }); + externs.entry(name) + .and_modify(|e| { e.locations.insert(location.clone()); } ) + .or_insert_with(|| { + let mut locations = BTreeSet::new(); + locations.insert(location); + ExternEntry { locations, is_private_dep: false } + }); } Ok(Externs::new(externs)) } |
