Please see individual commit messages.
Signed-off-by: Tamir Duberstein tamird@gmail.com --- Changes in v2: - rustfmt. - Alice's RB. - Add second patch to emit information in panic rather than separately to stderr. - Link to v1: https://lore.kernel.org/r/20250527-idiomatic-match-slice-v1-1-34b0b1d1d58c@g...
--- Tamir Duberstein (2): rust: replace length checks with match rust: emit path candidates in panic message
scripts/rustdoc_test_gen.rs | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) --- base-commit: 1ce98bb2bb30713ec4374ef11ead0d7d3e856766 change-id: 20250527-idiomatic-match-slice-26a79d100e4d
Best regards,
Use a match expression with slice patterns instead of length checks and indexing. The result is more idiomatic, which is a better example for future Rust code authors.
Reviewed-by: Alice Ryhl aliceryhl@google.com Signed-off-by: Tamir Duberstein tamird@gmail.com --- scripts/rustdoc_test_gen.rs | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-)
diff --git a/scripts/rustdoc_test_gen.rs b/scripts/rustdoc_test_gen.rs index 1ca253594d38..d796481f4359 100644 --- a/scripts/rustdoc_test_gen.rs +++ b/scripts/rustdoc_test_gen.rs @@ -85,24 +85,23 @@ fn find_candidates( } }
- assert!( - valid_paths.len() > 0, - "No path candidates found for `{file}`. This is likely a bug in the build system, or some \ - files went away while compiling." - ); - - if valid_paths.len() > 1 { - eprintln!("Several path candidates found:"); - for path in valid_paths { - eprintln!(" {path:?}"); + match valid_paths.as_slice() { + [] => panic!( + "No path candidates found for `{file}`. This is likely a bug in the build system, or \ + some files went away while compiling." + ), + [valid_path] => valid_path.to_str().unwrap(), + valid_paths => { + eprintln!("Several path candidates found:"); + for path in valid_paths { + eprintln!(" {path:?}"); + } + panic!( + "Several path candidates found for `{file}`, please resolve the ambiguity by \ + renaming a file or folder." + ); } - panic!( - "Several path candidates found for `{file}`, please resolve the ambiguity by renaming \ - a file or folder." - ); } - - valid_paths[0].to_str().unwrap() }
fn main() {
Include all information in the panic message rather than emit fragments to stderr.
Signed-off-by: Tamir Duberstein tamird@gmail.com --- scripts/rustdoc_test_gen.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/scripts/rustdoc_test_gen.rs b/scripts/rustdoc_test_gen.rs index d796481f4359..f95129b03cd8 100644 --- a/scripts/rustdoc_test_gen.rs +++ b/scripts/rustdoc_test_gen.rs @@ -92,13 +92,15 @@ fn find_candidates( ), [valid_path] => valid_path.to_str().unwrap(), valid_paths => { - eprintln!("Several path candidates found:"); + use std::fmt::Write; + + let mut candidates = String::new(); for path in valid_paths { - eprintln!(" {path:?}"); + write!(&mut candidates, " {path:?}").unwrap(); } panic!( "Several path candidates found for `{file}`, please resolve the ambiguity by \ - renaming a file or folder." + renaming a file or folder. Candidates:\n{candidates}", ); } }
On Thu, May 29, 2025 at 3:15 PM Tamir Duberstein tamird@gmail.com wrote:
Include all information in the panic message rather than emit fragments to stderr.
Could we explain the "why" as well in the message? (i.e. not just the "what")
Thanks!
Cheers, Miguel
On Thu, May 29, 2025 at 9:21 AM Miguel Ojeda miguel.ojeda.sandonis@gmail.com wrote:
On Thu, May 29, 2025 at 3:15 PM Tamir Duberstein tamird@gmail.com wrote:
Include all information in the panic message rather than emit fragments to stderr.
Could we explain the "why" as well in the message? (i.e. not just the "what")
Sure, that would be:
Include all information in the panic message rather than emit fragments to stderr to avoid possible interleaving with other output.
Let me know if I should send another spin for this, or if this is ok to do on apply.
On Thu, May 29, 2025 at 4:38 PM Tamir Duberstein tamird@gmail.com wrote:
Sure, that would be:
Include all information in the panic message rather than emit fragments to stderr to avoid possible interleaving with other output.
Let me know if I should send another spin for this, or if this is ok to do on apply.
Thanks! No worries, I can do that on apply.
Cheers, Miguel
linux-kselftest-mirror@lists.linaro.org