diff --git a/src/strobe.rs b/src/strobe.rs --- a/src/strobe.rs +++ b/src/strobe.rs @@ -64,7 +64,9 @@ #[$doc] pub fn $name(&mut self, data: &mut [u8]) { let flags = $flags; - self.operate(flags, data, self.prev_flags == flags); + let prev_flags = self.prev_flags.bits(); + let more = prev_flags.ct_eq(&flags.bits()); + self.operate(flags, data, bool::from(more)); } )* }; @@ -78,7 +80,9 @@ #[$doc] pub fn $name(&mut self, data: &[u8]) { let flags = $flags; - self.operate_no_mutate(flags, data, self.prev_flags == flags); + let prev_flags = self.prev_flags.bits(); + let more = prev_flags.ct_eq(&flags.bits()); + self.operate_no_mutate(flags, data, bool::from(more)); } )* }; @@ -436,7 +440,7 @@ define_non_mut_operations! { /// AD - pub fn ad(OpFlags::App.into()); + pub fn ad(BitFlags::from(OpFlags::App)); /// META AD pub fn meta_ad(OpFlags::App | OpFlags::Meta); /// KEY