mirror of https://github.com/rust-lang/rust
20 lines
413 B
Rust
20 lines
413 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>(val: T, f: &dyn Fn(T)) { f(val) }
|
|
|
|
pub fn main() {
|
|
doit(0, &|x /*: isize*/ | { x.to_int(); });
|
|
}
|