//@ check-fail | |
use std::ops::Deref; | |
fn main() { | |
fn save(who: &str) { | |
println!("I'll save you, {}!", who); | |
} | |
struct Madoka; | |
impl Deref for Madoka { | |
type Target = str; | |
fn deref(&self) -> &Self::Target { | |
"Madoka" | |
} | |
} | |
save(&{ Madoka }); | |
fn reset(how: &u32) { | |
println!("Reset {} times", how); | |
} | |
struct Homura; | |
impl Deref for Homura { | |
type Target = u32; | |
fn deref(&self) -> &Self::Target { | |
&42 | |
} | |
} | |
reset(&{ Homura }); | |
//~^ ERROR mismatched types | |
} |