Skip to content

Tracking Issue for casefold #157000

@Jules-Bertholet

Description

@Jules-Bertholet

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.)

Unresolved Questions

@rustbot label A-Unicode

Footnotes

  1. https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-UnicodeArea: UnicodeC-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCS-tracking-unimplementedStatus: The feature has not been implemented.T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions