From bb22e983b6e7e66d241026112d09fba2d5d5dd1c Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 27 Dec 2025 23:11:52 -0700 Subject: [PATCH] cmov: address truncation lint for `Cmov` impl for `u8` --- cmov/src/lib.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmov/src/lib.rs b/cmov/src/lib.rs index 5000a662..2cfdd9d8 100644 --- a/cmov/src/lib.rs +++ b/cmov/src/lib.rs @@ -70,21 +70,21 @@ pub trait CmovEq { } } -// TODO(tarcieri): address truncation lint -#[allow(clippy::cast_possible_truncation)] impl Cmov for u8 { #[inline] fn cmovnz(&mut self, value: &Self, condition: Condition) { let mut tmp = *self as u16; tmp.cmovnz(&(*value as u16), condition); - *self = tmp as u8; + debug_assert!(tmp <= u8::MAX as u16); + *self = (tmp & 0xFF) as u8; } #[inline] fn cmovz(&mut self, value: &Self, condition: Condition) { let mut tmp = *self as u16; tmp.cmovz(&(*value as u16), condition); - *self = tmp as u8; + debug_assert!(tmp <= u8::MAX as u16); + *self = (tmp & 0xFF) as u8; } }