@@ -12,8 +12,8 @@ use std::sync::mpsc::SyncSender;
12
12
13
13
fn rustfmt ( src : & Path , rustfmt : & Path , paths : & [ PathBuf ] , check : bool ) -> impl FnMut ( bool ) -> bool {
14
14
let mut cmd = Command :: new ( rustfmt) ;
15
- // avoid the submodule config paths from coming into play,
16
- // we only allow a single global config for the workspace for now
15
+ // Avoid the submodule config paths from coming into play. We only allow a single global config
16
+ // for the workspace for now.
17
17
cmd. arg ( "--config-path" ) . arg ( & src. canonicalize ( ) . unwrap ( ) ) ;
18
18
cmd. arg ( "--edition" ) . arg ( "2021" ) ;
19
19
cmd. arg ( "--unstable-features" ) ;
@@ -24,7 +24,7 @@ fn rustfmt(src: &Path, rustfmt: &Path, paths: &[PathBuf], check: bool) -> impl F
24
24
cmd. args ( paths) ;
25
25
let cmd_debug = format ! ( "{cmd:?}" ) ;
26
26
let mut cmd = cmd. spawn ( ) . expect ( "running rustfmt" ) ;
27
- // poor man's async: return a closure that'll wait for rustfmt's completion
27
+ // Poor man's async: return a closure that'll wait for rustfmt's completion.
28
28
move |block : bool | -> bool {
29
29
if !block {
30
30
match cmd. try_wait ( ) {
@@ -72,7 +72,7 @@ fn verify_rustfmt_version(build: &Builder<'_>) -> bool {
72
72
!program_out_of_date ( & stamp_file, & version)
73
73
}
74
74
75
- /// Updates the last rustfmt version used
75
+ /// Updates the last rustfmt version used.
76
76
fn update_rustfmt_version ( build : & Builder < ' _ > ) {
77
77
let Some ( ( version, stamp_file) ) = get_rustfmt_version ( build) else {
78
78
return ;
@@ -168,9 +168,10 @@ pub fn format(build: &Builder<'_>, check: bool, paths: &[PathBuf]) {
168
168
untracked_count += 1 ;
169
169
fmt_override. add ( & format ! ( "!/{untracked_path}" ) ) . expect ( untracked_path) ;
170
170
}
171
- // Only check modified files locally to speed up runtime.
172
- // We still check all files in CI to avoid bugs in `get_modified_rs_files` letting regressions slip through;
173
- // we also care about CI time less since this is still very fast compared to building the compiler.
171
+ // Only check modified files locally to speed up runtime. We still check all files in
172
+ // CI to avoid bugs in `get_modified_rs_files` letting regressions slip through; we
173
+ // also care about CI time less since this is still very fast compared to building the
174
+ // compiler.
174
175
if !CiEnv :: is_ci ( ) && paths. is_empty ( ) {
175
176
match get_modified_rs_files ( build) {
176
177
Ok ( Some ( files) ) => {
@@ -275,21 +276,23 @@ pub fn format(build: &Builder<'_>, check: bool, paths: &[PathBuf]) {
275
276
. overrides ( fmt_override)
276
277
. build_parallel ( ) ;
277
278
278
- // there is a lot of blocking involved in spawning a child process and reading files to format.
279
- // spawn more processes than available concurrency to keep the CPU busy
279
+ // There is a lot of blocking involved in spawning a child process and reading files to format.
280
+ // Spawn more processes than available concurrency to keep the CPU busy.
280
281
let max_processes = build. jobs ( ) as usize * 2 ;
281
282
282
- // spawn child processes on a separate thread so we can batch entries we have received from ignore
283
+ // Spawn child processes on a separate thread so we can batch entries we have received from
284
+ // ignore.
283
285
let thread = std:: thread:: spawn ( move || {
284
286
let mut children = VecDeque :: new ( ) ;
285
287
while let Ok ( path) = rx. recv ( ) {
286
- // try getting more paths from the channel to amortize the overhead of spawning processes
288
+ // Try getting more paths from the channel to amortize the overhead of spawning
289
+ // processes.
287
290
let paths: Vec < _ > = rx. try_iter ( ) . take ( 63 ) . chain ( std:: iter:: once ( path) ) . collect ( ) ;
288
291
289
292
let child = rustfmt ( & src, & rustfmt_path, paths. as_slice ( ) , check) ;
290
293
children. push_back ( child) ;
291
294
292
- // poll completion before waiting
295
+ // Poll completion before waiting.
293
296
for i in ( 0 ..children. len ( ) ) . rev ( ) {
294
297
if children[ i] ( false ) {
295
298
children. swap_remove_back ( i) ;
@@ -298,12 +301,12 @@ pub fn format(build: &Builder<'_>, check: bool, paths: &[PathBuf]) {
298
301
}
299
302
300
303
if children. len ( ) >= max_processes {
301
- // await oldest child
304
+ // Await oldest child.
302
305
children. pop_front ( ) . unwrap ( ) ( true ) ;
303
306
}
304
307
}
305
308
306
- // await remaining children
309
+ // Await remaining children.
307
310
for mut child in children {
308
311
child ( true ) ;
309
312
}
0 commit comments