Commit 8b097b5a authored by Tamir Duberstein's avatar Tamir Duberstein Committed by Miguel Ojeda
Browse files

scripts: rust: replace length checks with match



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: default avatarAlice Ryhl <aliceryhl@google.com>
Signed-off-by: default avatarTamir Duberstein <tamird@gmail.com>
Link: https://lore.kernel.org/r/20250529-idiomatic-match-slice-v2-1-4925ca2f1550@gmail.com


[ Reworded title. - Miguel ]
Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
parent 275ad5e7
Loading
Loading
Loading
Loading
+15 −16
Original line number Diff line number Diff line
@@ -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 {
    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."
                "Several path candidates found for `{file}`, please resolve the ambiguity by \
                renaming a file or folder."
            );
        }

    valid_paths[0].to_str().unwrap()
    }
}

fn main() {