Skip to content

Commit d32b7e5

Browse files
committed
Test the UndefMask type
1 parent aa8c48a commit d32b7e5

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// ignore-cross-compile
2+
// ignore-stage1
3+
4+
#![feature(rustc_private)]
5+
6+
extern crate rustc;
7+
8+
use rustc::mir::interpret::UndefMask;
9+
use rustc::ty::layout::Size;
10+
11+
fn main() {
12+
let mut mask = UndefMask::new(Size::from_bytes(500));
13+
assert!(!mask.get(Size::from_bytes(499)));
14+
mask.set(Size::from_bytes(499), true);
15+
assert!(mask.get(Size::from_bytes(499)));
16+
mask.set_range_inbounds(Size::from_bytes(100), Size::from_bytes(256), true);
17+
for i in 0..100 {
18+
assert!(!mask.get(Size::from_bytes(i)));
19+
}
20+
for i in 100..256 {
21+
assert!(mask.get(Size::from_bytes(i)));
22+
}
23+
for i in 256..499 {
24+
assert!(!mask.get(Size::from_bytes(i)));
25+
}
26+
}

0 commit comments

Comments
 (0)