]> git.lizzy.rs Git - rust.git/blob - src/test/ui/structs-enums/enum-alignment.rs
Override rustc version in ui and mir-opt tests to get stable hashes
[rust.git] / src / test / ui / structs-enums / enum-alignment.rs
1 // run-pass
2 #![allow(dead_code)]
3 #![allow(deprecated)]
4
5 use std::mem;
6
7 fn addr_of<T>(ptr: &T) -> usize {
8     ptr as *const T as usize
9 }
10
11 fn is_aligned<T>(ptr: &T) -> bool {
12     unsafe {
13         let addr: usize = mem::transmute(ptr);
14         (addr % mem::min_align_of::<T>()) == 0
15     }
16 }
17
18 pub fn main() {
19     let x = Some(0u64);
20     match x {
21         None => panic!(),
22         Some(ref y) => assert!(is_aligned(y))
23     }
24 }