Add support for out-of-line bitfields declarations

This commit is contained in:
Mike Hommey
2023-09-10 06:42:35 +09:00
committed by Emilio Cobos Álvarez
parent 35f2e44ef2
commit 9b4a14958e
13 changed files with 274 additions and 61 deletions
+19 -1
View File
@@ -38,6 +38,24 @@ bitflags! {
}
}
// bitflags 2 allows to define types out-of-line for custom derives
// #[derive(SomeTrait)]
#[repr(C)]
pub struct OutOfLine(u32);
bitflags! {
impl OutOfLine: u32 {
const A = 1;
const B = 2;
const AB = Self::A.bits() | Self::B.bits();
}
}
#[no_mangle]
pub extern "C" fn root(flags: AlignFlags, bigger_flags: DebugFlags, largest_flags: LargeFlags) {}
pub extern "C" fn root(
flags: AlignFlags,
bigger_flags: DebugFlags,
largest_flags: LargeFlags,
out_of_line: OutOfLine,
) {
}