Closed
Description
unsigned.checked_add(x).unwrap_or(unsigned::MAX)
-> unsigned.saturating_add(x)
unsigned.checked_sub(x).unwrap_or(0)
-> unsigned.saturating_sub(x)
Signed versions can also be linted if literals are used.
signed.checked_add(non_negative_literal).unwrap_or(signed::MAX)
-> signed.saturating_add(x)
signed.checked_add( negative_literal).unwrap_or(signed::MIN)
-> signed.saturating_add(x)
signed.checked_sub(non_negative_literal).unwrap_or(signed::MIN)
-> signed.saturating_sub(x)
signed.checked_sub( negative_literal).unwrap_or(signed::MAX)
-> signed.saturating_sub(x)