// run-pass
#![allow(non_camel_case_types)]

#[derive(Copy, Clone, Debug)]
enum chan { chan_t, }

impl PartialEq for chan {
    fn eq(&self, other: &chan) -> bool {
        ((*self) as usize) == ((*other) as usize)
    }
    fn ne(&self, other: &chan) -> bool { !(*self).eq(other) }
}

fn wrapper3(i: chan) {
    assert_eq!(i, chan::chan_t);
}

pub fn main() {
    let wrapped = {||wrapper3(chan::chan_t)};
    wrapped();
}
