Skip to content

Commit

Permalink
Rollup merge of #116090 - rmehri01:strict_integer_ops, r=m-ou-se
Browse files Browse the repository at this point in the history
Implement strict integer operations that panic on overflow

This PR implements the first part of the ACP for adding panic on overflow style arithmetic operations (rust-lang/libs-team#270), mentioned in #116064.

It adds the following operations on both signed and unsigned integers:

- `strict_add`
- `strict_sub`
- `strict_mul`
- `strict_div`
- `strict_div_euclid`
- `strict_rem`
- `strict_rem_euclid`
- `strict_neg`
- `strict_shl`
- `strict_shr`
- `strict_pow`

Additionally, signed integers have:

- `strict_add_unsigned`
- `strict_sub_unsigned`
- `strict_abs`

And unsigned integers have:

- `strict_add_signed`

The `div` and `rem` operations are the same as normal division and remainder but are added for completeness similar to the corresponding `wrapping_*` operations.

I'm not sure if I missed any operations, I basically found them from the `wrapping_*` and `checked_*` operations on both integer types.
  • Loading branch information
Nadrieril authored Jan 21, 2024
2 parents 37a6467 + 7a85f7b commit eccb91c
Showing 0 changed files with 0 additions and 0 deletions.

0 comments on commit eccb91c

Please sign in to comment.