//@ run-pass | |
mod a { | |
pub trait Foo { | |
fn foo() -> Self; | |
} | |
impl Foo for isize { | |
fn foo() -> isize { | |
3 | |
} | |
} | |
impl Foo for usize { | |
fn foo() -> usize { | |
5 | |
} | |
} | |
} | |
pub fn main() { | |
let x: isize = a::Foo::foo(); | |
let y: usize = a::Foo::foo(); | |
assert_eq!(x, 3); | |
assert_eq!(y, 5); | |
} |