diff --git a/src/generator/codegen_register.rs b/src/generator/codegen_register.rs index 78029b0..0cff61d 100644 --- a/src/generator/codegen_register.rs +++ b/src/generator/codegen_register.rs @@ -297,7 +297,7 @@ fn generate_single_ux_field( }; let code_setter = quote! { pub fn #setter_name(&self, val: #field_type) -> Self { - let update: #base_type = val & #mask_name; + let update: #base_type = (val as #base_type) & #mask_name; let mut inner = self.inner; inner &= !#mask_name; inner |= update;