3 #![feature(rustc_private)]
5 extern crate rustc_data_structures;
6 extern crate serialize as rustc_serialize;
8 use rustc_data_structures::{newtype_index, indexed_vec::Idx};
10 newtype_index!(struct MyIdx { MAX = 0xFFFF_FFFA });
12 use std::mem::size_of;
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);