blob: 79b5b33233b314b063548c9b1eee7b5ce91c9dc2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
// 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
}
|