about summary refs log tree commit diff
path: root/src/tools/miri/tests/pass/issues/issue-miri-133.rs
blob: 02c97325713305ed2704dbf5b53000e946bee63a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use std::mem::size_of;

struct S<U, V> {
    _u: U,
    size_of_u: usize,
    _v: V,
    size_of_v: usize,
}

impl<U, V> S<U, V> {
    fn new(u: U, v: V) -> Self {
        S { _u: u, size_of_u: size_of::<U>(), _v: v, size_of_v: size_of::<V>() }
    }
}

impl<V, U> Drop for S<U, V> {
    fn drop(&mut self) {
        assert_eq!(size_of::<U>(), self.size_of_u);
        assert_eq!(size_of::<V>(), self.size_of_v);
    }
}

fn main() {
    S::new(0u8, 1u16);
}