aboutsummaryrefslogtreecommitdiff
path: root/rust/qemu-api/src/assertions.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/qemu-api/src/assertions.rs')
-rw-r--r--rust/qemu-api/src/assertions.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/rust/qemu-api/src/assertions.rs b/rust/qemu-api/src/assertions.rs
index bba38cf..eb12e94 100644
--- a/rust/qemu-api/src/assertions.rs
+++ b/rust/qemu-api/src/assertions.rs
@@ -91,6 +91,21 @@ macro_rules! assert_field_type {
}
};
};
+
+ ($t:ty, $i:tt, $ti:ty, num = $num:ident) => {
+ const _: () = {
+ #[allow(unused)]
+ fn assert_field_type(v: $t) {
+ fn types_must_be_equal<T, U>(_: T)
+ where
+ T: $crate::assertions::EqType<Itself = U>,
+ {
+ }
+ let index: usize = v.$num.try_into().unwrap();
+ types_must_be_equal::<_, &$ti>(&v.$i[index]);
+ }
+ };
+ };
}
/// Assert that an expression matches a pattern. This can also be