// run-pass
// Test that we are able to infer that the type of `x` is `isize` based
// on the expected type from the object.

// pretty-expanded FIXME #23616

pub trait ToPrimitive {
    fn to_int(&self) {}
}

impl ToPrimitive for isize {}
impl ToPrimitive for i32 {}
impl ToPrimitive for usize {}

fn doit<T,F>(val: T, f: &F)
    where F : Fn(T)
{
    f(val)
}

pub fn main() {
    doit(0, &|x /*: isize*/ | { x.to_int(); });
}
