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 bc1124a + 289277b commit 1155599
Showing 0 changed files with 0 additions and 0 deletions.

0 comments on commit 1155599

Please sign in to comment.