Is glob crate incorrect when handling the pattern?

fn main() {
    let pattern = "crates/sel4-test-harness";
    let pat = glob::Pattern::new(pattern).unwrap();
    dbg!(pat.matches("crates/sel*"), pat.matches("crates/*test*"));

    dbg!(
        glob_match::glob_match("crates/sel*", pattern),
        glob_match::glob_match("crates/*test*", pattern),
    );
}
[dependencies]
glob = "0.3.1"
glob-match = "0.2.1"
[src/main.rs:4:5] pat.matches("crates/sel*") = false
[src/main.rs:4:5] pat.matches("crates/*test*") = false
[src/main.rs:6:5] glob_match::glob_match("crates/sel*", pattern) = true
[src/main.rs:6:5] glob_match::glob_match("crates/*test*", pattern) = true

I think glob_match's match results are correct.

Well, the pattern is incorrect to glob...

This works as expected:

let path = "crates/sel4-test-harness";
let pat1 = glob::Pattern::new("crates/sel*").unwrap();
let pat2 = glob::Pattern::new("crates/*test*").unwrap();
dbg!(pat1.matches(path), pat2.matches(path));

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.