Repository navigation
Tracking Issue for casefold #157000
Copy link
Copy link
Open
Labels
A-UnicodeArea: UnicodeArea: UnicodeC-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCS-tracking-needs-to-bakeStatus: The implementation is "complete" but it needs time to bake.Status: The implementation is "complete" but it needs time to bake.T-libsRelevant to the library team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.
Description
Feature gate: #![feature(casefold)]
This is a tracking issue for Unicode-aware case folding APIs in the standard library. These APIs do not perform NFC/NFKC normalization.
Public API
// `core`
impl char {
pub fn to_casefold_unnormalized(self) -> ToCasefold;
}
mod char {
#[derive(Debug, Clone)]
pub struct ToCasefold { … };
impl Iterator for ToCasefold {
type Item = char;
…
}
impl DoubleEndedIterator for ToCasefold { … }
impl FusedIterator for ToCasefold {}
impl ExactSizeIterator for ToCasefold {}
impl fmt::Display for ToCasefold { … }
}
impl str {
pub fn eq_ignore_case_unnormalized(&self, other: &str) -> bool;
}// `alloc`
impl str {
pub fn to_casefold_unnormalized(&self) -> String;
}Steps / History
(Remember to update the S-tracking-* label when checking boxes.)
- Implementation: Add APIs for case folding to the standard library #154742
- Final comment period (FCP)1
- Stabilization PR
Unresolved Questions
- Is the lack of normalization a deal-breaker? What is the best way to deal with that? Add APIs for case folding to the standard library #154742 (comment)
@rustbot label A-Unicode
Footnotes
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-UnicodeArea: UnicodeArea: UnicodeC-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCS-tracking-needs-to-bakeStatus: The implementation is "complete" but it needs time to bake.Status: The implementation is "complete" but it needs time to bake.T-libsRelevant to the library team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.
Activity
Rollup merge of rust-lang#160041 - Jules-Bertholet:casefold-tracking,…
Unrolled build for #160041