Skip to content

Make wrapping_neg and overflowing_neg functions into const #57536

Closed
@Lokathor

Description

@Lokathor

With the merge of #57234, we can now make wrapping_neg and overflowing_neg into const as well. They are currently branching, but with a small amount of bit math you can make it branchless instead.

Basic formulas given here, along with some tests: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=6a800d9c97885c1aba464ea3103c86e6

(Issue filed per the general request of @Centril to seek and const all possible const targets)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-const-evalArea: Constant evaluation, covers all const contexts (static, const fn, ...)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