Skip to content

Tracking Issue for integer extension and truncation methods #154330

@Amanieu

Description

@Amanieu

Feature gate: #![feature(integer_extend_truncate)]

This is a tracking issue for integer extension and truncation methods.

Public API

impl iX {
    // `Target` is a signed integer with size >= Self
    fn extend<Target>(self) -> Target
        where Self: ExtendTarget<Target>;

    // `Target` is a signed integer with size <= Self
    fn truncate<Target>(self) -> Target
        where Self: TruncateTarget<Target>;
    fn saturating_truncate<Target>(self) -> Target
        where Self: TruncateTarget<Target>;
    fn checked_truncate<Target>(self) -> Option<Target>
        where Self: TruncateTarget<Target>;
}

impl uX {
    // `Target` is an unsigned integer with size >= Self
    fn extend<Target>(self) -> Target
        where Self: ExtendTarget<Target>;

    // `Target` is an unsigned integer with size <= Self
    fn truncate<Target>(self) -> Target
        where Self: TruncateTarget<Target>;
    fn saturating_truncate<Target>(self) -> Target
        where Self: TruncateTarget<Target>;
    fn checked_truncate<Target>(self) -> Option<Target>
        where Self: TruncateTarget<Target>;
}

Steps / History

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

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-needs-to-bakeStatus: The implementation is "complete" but it needs time to bake.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