// run-pass
// Ensure that a user-defined type admits multiple inherent methods
// with the same name, which can be called on values that have a
// precise enough type to allow distinguishing between the methods.


struct Foo<T>(T);

impl Foo<usize> {
    fn bar(&self) -> i32 { self.0 as i32 }
}

impl Foo<isize> {
    fn bar(&self) -> i32 { -(self.0 as i32) }
}

fn main() {
    let foo_u = Foo::<usize>(5);
    assert_eq!(foo_u.bar(), 5);

    let foo_i = Foo::<isize>(3);
    assert_eq!(foo_i.bar(), -3);
}
