blob: a9f0095d2e245d0f5ae5da6932f769f43dfaef86 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
// run-pass
trait Stringify {
fn to_string(&self) -> String;
}
impl Stringify for u32 {
fn to_string(&self) -> String { format!("u32: {}", *self) }
}
impl Stringify for f32 {
fn to_string(&self) -> String { format!("f32: {}", *self) }
}
fn print<T: Stringify>(x: T) -> String {
x.to_string()
}
fn main() {
assert_eq!(&print(5), "u32: 5");
assert_eq!(&print(5.0), "f32: 5");
}
|