@@ -28,7 +28,7 @@ use std::ffi::{OsStr, OsString};
2828use std:: fs:: { self , File } ;
2929use std:: io:: { BufRead , Write } ;
3030use std:: path:: { Path , PathBuf } ;
31- use std:: sync:: { Arc , Mutex } ;
31+ use std:: sync:: Arc ;
3232
3333use anyhow:: { Context as _, Error } ;
3434use lazycell:: LazyCell ;
@@ -263,7 +263,6 @@ fn rustc(cx: &mut Context<'_, '_>, unit: &Unit, exec: &Arc<dyn Executor>) -> Car
263263 let script_metadata = cx. find_build_script_metadata ( unit) ;
264264 let is_local = unit. is_local ( ) ;
265265 let artifact = unit. artifact ;
266- let completed_units = Arc :: clone ( & cx. completed_units ) ;
267266
268267 return Ok ( Work :: new ( move |state| {
269268 // Artifacts are in a different location than typical units,
@@ -293,13 +292,7 @@ fn rustc(cx: &mut Context<'_, '_>, unit: &Unit, exec: &Arc<dyn Executor>) -> Car
293292 ) ?;
294293 add_plugin_deps ( & mut rustc, & script_outputs, & build_scripts, & root_output) ?;
295294 }
296- add_custom_flags (
297- & mut rustc,
298- & script_outputs,
299- script_metadata,
300- completed_units,
301- None ,
302- ) ?;
295+ add_custom_flags ( & mut rustc, & script_outputs, script_metadata) ?;
303296 }
304297
305298 for output in outputs. iter ( ) {
@@ -712,9 +705,18 @@ fn rustdoc(cx: &mut Context<'_, '_>, unit: &Unit) -> CargoResult<Work> {
712705 & mut rustdoc,
713706 & build_script_outputs. lock ( ) . unwrap ( ) ,
714707 script_metadata,
715- completed_units,
716- scrape_units,
717708 ) ?;
709+
710+ if let Some ( scrape_units) = scrape_units {
711+ let completed_units = completed_units. lock ( ) . unwrap ( ) ;
712+ for ( _, output_path) in scrape_units
713+ . iter ( )
714+ . filter ( |( buildkey, _) | completed_units[ * buildkey] )
715+ {
716+ rustdoc. arg ( "--with-examples" ) . arg ( output_path) ;
717+ }
718+ }
719+
718720 let crate_dir = doc_dir. join ( & crate_name) ;
719721 if crate_dir. exists ( ) {
720722 // Remove output from a previous build. This ensures that stale
@@ -1182,8 +1184,6 @@ fn add_custom_flags(
11821184 cmd : & mut ProcessBuilder ,
11831185 build_script_outputs : & BuildScriptOutputs ,
11841186 metadata : Option < Metadata > ,
1185- completed_units : Arc < Mutex < HashMap < Metadata , bool > > > ,
1186- scrape_units : Option < HashMap < Metadata , PathBuf > > ,
11871187) -> CargoResult < ( ) > {
11881188 if let Some ( metadata) = metadata {
11891189 if let Some ( output) = build_script_outputs. get ( metadata) {
@@ -1202,16 +1202,6 @@ fn add_custom_flags(
12021202 }
12031203 }
12041204
1205- if let Some ( scrape_units) = scrape_units {
1206- let completed_units = completed_units. lock ( ) . unwrap ( ) ;
1207- for ( _, output_path) in scrape_units
1208- . iter ( )
1209- . filter ( |( buildkey, _) | completed_units[ * buildkey] )
1210- {
1211- cmd. arg ( "--with-examples" ) . arg ( output_path) ;
1212- }
1213- }
1214-
12151205 Ok ( ( ) )
12161206}
12171207
0 commit comments