mirror of https://github.com/rust-lang/rust
24 lines
431 B
Rust
24 lines
431 B
Rust
//@ 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(); });
|
|
}
|