]> git.proxmox.com Git - rustc.git/blob - src/test/ui-fulldeps/uninit_mask.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / src / test / ui-fulldeps / uninit_mask.rs
1 // run-pass
2 // ignore-cross-compile
3 // ignore-stage1
4
5 #![feature(rustc_private)]
6
7 extern crate rustc_middle;
8 extern crate rustc_target;
9
10 use rustc_middle::mir::interpret::InitMask;
11 use rustc_target::abi::Size;
12
13 fn main() {
14 let mut mask = InitMask::new(Size::from_bytes(500), false);
15 assert!(!mask.get(Size::from_bytes(499)));
16 mask.set(Size::from_bytes(499), true);
17 assert!(mask.get(Size::from_bytes(499)));
18 mask.set_range_inbounds(Size::from_bytes(100), Size::from_bytes(256), true);
19 for i in 0..100 {
20 assert!(!mask.get(Size::from_bytes(i)));
21 }
22 for i in 100..256 {
23 assert!(mask.get(Size::from_bytes(i)));
24 }
25 for i in 256..499 {
26 assert!(!mask.get(Size::from_bytes(i)));
27 }
28 }