]> git.lizzy.rs Git - rust.git/blob - src/test/ui-fulldeps/newtype_index.rs
async/await: improve obligation errors
[rust.git] / src / test / ui-fulldeps / newtype_index.rs
1 // run-pass
2
3 #![feature(rustc_private)]
4
5 extern crate rustc_data_structures;
6 extern crate serialize as rustc_serialize;
7
8 use rustc_data_structures::{newtype_index, indexed_vec::Idx};
9
10 newtype_index!(struct MyIdx { MAX = 0xFFFF_FFFA });
11
12 use std::mem::size_of;
13
14 fn main() {
15     assert_eq!(size_of::<MyIdx>(), 4);
16     assert_eq!(size_of::<Option<MyIdx>>(), 4);
17     assert_eq!(size_of::<Option<Option<MyIdx>>>(), 4);
18     assert_eq!(size_of::<Option<Option<Option<MyIdx>>>>(), 4);
19     assert_eq!(size_of::<Option<Option<Option<Option<MyIdx>>>>>(), 4);
20     assert_eq!(size_of::<Option<Option<Option<Option<Option<MyIdx>>>>>>(), 4);
21     assert_eq!(size_of::<Option<Option<Option<Option<Option<Option<MyIdx>>>>>>>(), 8);
22 }