mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-10-02 19:45:46 +00:00
31 lines
967 B
Rust
31 lines
967 B
Rust
|
#![cfg(feature = "unstable_testing")]
|
||
|
|
||
|
#![allow(dead_code, unused_imports)]
|
||
|
#![feature(i128_type)]
|
||
|
|
||
|
#[macro_use]
|
||
|
extern crate bitflags;
|
||
|
|
||
|
bitflags! {
|
||
|
/// baz
|
||
|
struct Flags128: u128 {
|
||
|
const A = 0x0000_0000_0000_0000_0000_0000_0000_0001;
|
||
|
const B = 0x0000_0000_0000_1000_0000_0000_0000_0000;
|
||
|
const C = 0x8000_0000_0000_0000_0000_0000_0000_0000;
|
||
|
const ABC = A.bits | B.bits | C.bits;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn test_i128_bitflags() {
|
||
|
assert_eq!(ABC, A | B | C);
|
||
|
assert_eq!(A.bits, 0x0000_0000_0000_0000_0000_0000_0000_0001);
|
||
|
assert_eq!(B.bits, 0x0000_0000_0000_1000_0000_0000_0000_0000);
|
||
|
assert_eq!(C.bits, 0x8000_0000_0000_0000_0000_0000_0000_0000);
|
||
|
assert_eq!(ABC.bits, 0x8000_0000_0000_1000_0000_0000_0000_0001);
|
||
|
assert_eq!(format!("{:?}", A), "A");
|
||
|
assert_eq!(format!("{:?}", B), "B");
|
||
|
assert_eq!(format!("{:?}", C), "C");
|
||
|
assert_eq!(format!("{:?}", ABC), "A | B | C | ABC");
|
||
|
}
|