Tracking Issue for `byte_search`
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
Feature gate: #![feature(byte_search)]
acp: https://github.com/rust-lang/libs-team/issues/499
This is a tracking issue for byte searching: searching for a particular pattern of bytes in a &[u8], and potentially trimming, splitting or otherwise processing the input based on the matches of the pattern.
Public API
The API mirrors the one for strings at std::str::pattern::Pattern.
pub trait BytePattern: Sized {
/// Associated searcher for this pattern
type Searcher<'a>: Searcher<'a>;
// etc.
}
and then adds a number of inherent methods for &[u8]. The exact set has not yet been decided, but will likely include (modulo slight naming changes):
contains_bytesfind_bytesrfind_bytessplit_bytesrsplit_bytessplit_bytes_oncersplit_bytessplitn_bytesrsplitn_bytesreplace_bytesreplacen_bytesstarts_with_bytesends_with_bytesmatches_bytesrmatches_bytesmatch_indices_bytesrmatch_indices_bytestrim_bytes_start_matchestrim_bytes_end_matchesstrip_bytes_prefixstrip_bytes_suffix
Steps / History
- ACP: https://github.com/rust-lang/libs-team/issues/499#issuecomment-2532563916, https://github.com/rust-lang/libs-team/issues/311
- Implementation: #...
- Final comment period (FCP)^1
- Stabilization PR
Unresolved Questions
- None yet.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the ACP links and the public API section, including std::str::pattern::Pattern and the proposed byte-search methods. Review the feature-gate and implementation checklist; this issue is complete only after the API and implementation are decided, followed by FCP and a stabilization PR.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100