Skip to content

Tracking Issue for impl Display for CStr #139984

Closed
@tamird

Description

@tamird

This is a tracking issue for impl Display for CStr.

Implement Display for CStr and CString. The implementation would be the same as for the ByteStr and ByteString types.

Public API

I'm abusing the API section here to include the whole implementation, as it is very simple.

impl fmt::Display for CStr {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
       fmt::Display::fmt(crate::bstr::ByteStr::from_bytes(self.to_bytes()), f)
    }
}
impl fmt::Display for CString {
    #[inline]
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        fmt::Display::fmt(self.as_c_cstr(), f)
    }
}

Steps / History

Motivation and discussion is elaborated in the ACP.

2025-02-27: ACP created by @Darksonn.
2025-04-17: ACP accepted by @BurntSushi.
2025-04-17: tracking issue created.

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

  • Implementation: #...
  • Final comment period (FCP)1

Since trait implementations on stable types are insta-stable, there will not be a stabilization PR for this feature

Unresolved Questions

  • None yet.

Footnotes

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions