Skip to content

Tracking Issue for {str, [T], Path}::trim_prefix and {str, [T]}::trim_suffix #142312

@deven

Description

@deven

View all comments

Feature gate: #![feature(trim_prefix_suffix)]

This is a tracking issue for adding trim_prefix and trim_suffix methods to str that remove at most one occurrence of a specified prefix or suffix while always returning a string slice (rather than Option<&str>), enabling easy method chaining.1

Public API

impl str {
    pub fn trim_prefix<P>(&self, prefix: P) -> &str
    where
        P: Pattern;

    pub fn trim_suffix<P>(&self, suffix: P) -> &str
    where
        P: Pattern,
        for<'a> P::Searcher<'a>: ReverseSearcher<'a>;
}

impl [T] {
    pub fn trim_prefix<P>(&self, prefix: &P) -> &[T]
    where
        P: SlicePattern<Item = T> + ?Sized,
        T: PartialEq;

    pub fn trim_suffix<P>(&self, suffix: &P) -> &[T]
    where
        P: SlicePattern<Item = T> + ?Sized,
        T: PartialEq;
}

impl Path {
    pub fn trim_prefix<P>(&self, base: P) -> &Path
    where
        P: AsRef<Path>;
}

Steps / History

(Remember to update the S-tracking-* label when checking boxes.)

Unresolved Questions

  • None yet.

Footnotes

  1. https://github.com/rust-lang/libs-team/issues/597

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCS-tracking-ready-to-stabilizeStatus: This is ready to stabilize; it may need a stabilization report and a PRT-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