Support for matching file paths against Unix shell style patterns.

Is rust-lang/glob beginner-friendly?

We have not seen enough recent pull requests from outside contributors to rust-lang/glob to say how often they are merged. 1 beginner-friendly issue is open now.

Stars
597
Forks
97
Open beginner issues
1
Indexed issues
39
Dominant language
Rust
License
Apache-2.0
Last GitHub push
Oct 8, 2026
Latest indexed
Sep 19, 2026
Contributing guide
No contributing guide
Code of conduct
No code of conduct
Beginner labels
No beginner labels indexed
PR merge metrics
No merged PRs in 30d

How to contribute to rust-lang/glob

  1. There is no contributing guide, so start from the README and a few recently merged pull requests to see how changes are proposed.
  2. Your contributions will be published under the project's Apache-2.0 license.
  3. Pick the open beginner-friendly issue below and comment that you want to work on it before you start.

Issues somebody may already be working on are listed last. List everything by date

  • `glob()`/`glob_with()` reject patterns that `Pattern::new()` accepts (character class containing `/`)
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 64/100

    rust-lang/glob#196 ·

  • `?` matches forward slashes
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 70/100

    rust-lang/glob#190 ·

  • Make PatternToken public
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    rust-lang/glob#185 ·

  • [1.0] Remove some trait impls
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 45/100

    rust-lang/glob#171 ·

  • [1.0] `Pattern::as_str` should return an option
    Open

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    rust-lang/glob#168 ·

  • [1.0] Take `S: AsRef<Path>` rather than `&Path`
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    rust-lang/glob#167 · 1 comment ·

  • [1.0]: Take `MatchOptions` during construction of `Pattern`, not during matching
    Open

    Difficulty 5/5 Over a week Newbie friendliness 30/100

    rust-lang/glob#165 ·

  • Several file extension pattern
    Open

    Difficulty 5/5 Over a week Newbie friendliness 32/100

    rust-lang/glob#163 · 3 comments · 1 reaction ·

  • Max glob depth
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    rust-lang/glob#161 · 2 comments ·

  • Question: what is the correct approach for matching windows paths
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 20/100

    rust-lang/glob#159 ·

  • [1.0] Mark `MatchOptions` `#[non_exhaustive]`
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 48/100

    rust-lang/glob#158 · 1 reaction ·

  • build a Paths from a Pattern
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 35/100

    rust-lang/glob#148 · 1 reaction ·

  • bound on glob functions should be expanded to AsRef<Path>
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    rust-lang/glob#146 · 6 reactions ·

  • Ability to opt out of `**` (have it behave like `*` / POSIX glob)
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    rust-lang/glob#142 · 1 comment · 1 reaction ·

  • Windows paths starting with `\\?\<Drive Letter>` do not work
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    rust-lang/glob#132 · 5 comments · 4 reactions ·

  • `matches_path` should work on absolute paths
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    rust-lang/glob#106 ·

  • Wrong token list created for "foo/**"
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    rust-lang/glob#92 · 1 comment ·

  • matchs_xxx_with methods should support reference MatchOptions
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    rust-lang/glob#90 ·

  • Pattern **/ matches everything
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    rust-lang/glob#83 · 10 comments ·

  • glob() should take a Path not str
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 38/100

    rust-lang/glob#78 · 6 comments · 6 reactions ·

  • [Feature request] add is_literal(pattern)
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 42/100

    rust-lang/glob#72 · 7 comments · 2 reactions ·

  • Add `Paths::files` and `Paths::dirs`
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    rust-lang/glob#65 · 2 comments · 2 reactions ·

  • add `From<GlobError> for io::Error` impl
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 45/100

    rust-lang/glob#64 · 3 comments ·

  • glob follows symlinks
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    rust-lang/glob#62 · 3 comments · 7 reactions ·

  • Considering a roadmap for 1.0, or alternatively considering deprecating in favor of the "globset" crate
    Open

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    rust-lang/glob#59 · 21 comments ·

  • '*' broken in Pattern::matches_path
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    rust-lang/glob#56 · 5 comments ·

  • Support starting from a specified directory, not just current working directory
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    rust-lang/glob#54 · 2 comments · 22 reactions ·

  • Add back volume-relative logic
    Open

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    rust-lang/glob#34 ·

  • Support string alternative syntax (curly braces pattern)
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 38/100

    rust-lang/glob#2 · 2 comments · 30 reactions ·

  • [1.0] Change `MatchOptions::default` to match `MatchOptions::new`
    Possibly taken @Dym03 claimed this 380 days ago. Open

    Difficulty 1/5 Under an hour Newbie friendliness 68/100

    rust-lang/glob#170 ·

  • [1.0] Restructure `PatternError`
    Possibly taken @Dym03 claimed this 382 days ago. Open

    Difficulty 5/5 Over a week Newbie friendliness 45/100

    rust-lang/glob#166 ·

  • support '~' as shortcut for home directory
    Possibly taken A pull request linked to this issue is open or already merged. Open

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    rust-lang/glob#149 · 1 reaction ·

  • Glob panicked because of an out-of-bounds error on the pattern
    Possibly taken @starx710 claimed this 26 days ago. Open

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    rust-lang/glob#134 ·

  • Allow the use of `^` for negation in addition to `!`?
    Possibly taken @tertsdiepraam claimed this 972 days ago. Open

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    rust-lang/glob#116 · 4 comments ·

  • Make MatchOptions::new const
    Possibly taken A pull request linked to this issue is open or already merged. Open

    Difficulty 2/5 1-3 hours Newbie friendliness 45/100

    rust-lang/glob#102 · 2 comments ·

  • Unify MatchOptions new() and default() function
    Possibly taken A pull request linked to this issue is open or already merged. Open

    Difficulty 2/5 1-3 hours Newbie friendliness 48/100

    rust-lang/glob#101 · 1 comment · 1 reaction ·

  • Globbing drops Component::CurDir
    Possibly taken @Godsdar claimed this 23 days ago. Open

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    rust-lang/glob#70 ·

  • `glob_with` case insensitivity seems broken
    Possibly taken @RanaPriyansh claimed this 50 days ago. Open

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    rust-lang/glob#61 · 1 comment · 5 reactions ·

  • glob("*") does not support matching non-utf8 filenames
    Possibly taken @Arcterus claimed this 3050 days ago. Open

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    rust-lang/glob#23 · 1 comment ·

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.