File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ use crate::sources::CRATES_IO_REGISTRY;
77use crate :: util:: errors:: { internal, CargoResult } ;
88use cargo_util:: ProcessBuilder ;
99use std:: collections:: HashMap ;
10+ use std:: collections:: HashSet ;
1011use std:: fmt;
1112use std:: hash;
1213use url:: Url ;
@@ -113,8 +114,12 @@ fn build_all_urls(
113114 name2url : & HashMap < & String , Url > ,
114115 map : & RustdocExternMap ,
115116 unstable_opts : & mut bool ,
117+ seen : & mut HashSet < Unit > ,
116118) {
117119 for dep in build_runner. unit_deps ( unit) {
120+ if !seen. insert ( dep. unit . clone ( ) ) {
121+ continue ;
122+ }
118123 if !dep. unit . target . is_linkable ( ) || dep. unit . mode . is_doc ( ) {
119124 continue ;
120125 }
@@ -155,6 +160,7 @@ fn build_all_urls(
155160 name2url,
156161 map,
157162 unstable_opts,
163+ seen,
158164 ) ;
159165 }
160166}
@@ -199,6 +205,7 @@ pub fn add_root_urls(
199205 & name2url,
200206 map,
201207 & mut unstable_opts,
208+ & mut HashSet :: new ( ) ,
202209 ) ;
203210 let std_url = match & map. std {
204211 None | Some ( RustdocExternMode :: Remote ) => None ,
Original file line number Diff line number Diff line change @@ -452,10 +452,14 @@ fn same_deps_multi_occurrence_in_dep_tree() {
452452 . build ( ) ;
453453 p. cargo ( "doc -v --no-deps -Zrustdoc-map" )
454454 . masquerade_as_nightly_cargo ( & [ "rustdoc-map" ] )
455- . with_stderr_contains (
455+ . with_stderr_does_not_contain (
456456 "[..]--extern-html-root-url[..]bar=https://docs.rs\
457457 [..]--extern-html-root-url[..]baz=https://docs.rs\
458458 [..]--extern-html-root-url[..]baz=https://docs.rs[..]",
459459 )
460+ . with_stderr_contains (
461+ "[..]--extern-html-root-url[..]bar=https://docs.rs\
462+ [..]--extern-html-root-url[..]baz=https://docs.rs[..]",
463+ )
460464 . run ( ) ;
461465}
You can’t perform that action at this time.
0 commit comments