diff --git a/riscv/src/register/macros.rs b/riscv/src/register/macros.rs index 5c805191..4a5a3172 100644 --- a/riscv/src/register/macros.rs +++ b/riscv/src/register/macros.rs @@ -1076,7 +1076,7 @@ macro_rules! test_csr_field { } }}; - // test a range bit field + // test a range bit field (valid) ($reg:ident, $field:ident, $index:expr) => {{ $crate::paste! { assert!(!$reg.$field($index)); @@ -1091,4 +1091,12 @@ macro_rules! test_csr_field { assert!(!$reg.$field($index)); } }}; + + // test a range bit field (invalid) + ($reg:ident, $field:ident, $index:expr, $err:expr) => {{ + $crate::paste! { + assert_eq!($reg.[]($index), Err($err)); + assert_eq!($reg.[]($index, false), Err($err)); + } + }}; }