File tree 2 files changed +10
-10
lines changed
2 files changed +10
-10
lines changed Original file line number Diff line number Diff line change @@ -51,22 +51,22 @@ convert into as the compiler is unable to determine this most of the time.
51
51
However this is a small trade-off considering we get the functionality for free.
52
52
53
53
``` rust,editable
54
- use std::convert::From ;
54
+ use std::convert::Into ;
55
55
56
56
#[derive(Debug)]
57
57
struct Number {
58
58
value: i32,
59
59
}
60
60
61
- impl From<i32 > for Number {
62
- fn from(item: i32 ) -> Self {
63
- Number { value: item }
61
+ impl Into<Number > for i32 {
62
+ fn into(self ) -> Number {
63
+ Number { value: self }
64
64
}
65
65
}
66
66
67
67
fn main() {
68
68
let int = 5;
69
- // Try removing the type declaration
69
+ // Try removing the type annotation
70
70
let num: Number = int.into();
71
71
println!("My number is {:?}", num);
72
72
}
Original file line number Diff line number Diff line change @@ -42,22 +42,22 @@ fn main() {
42
42
使用 ` Into ` trait 通常要求指明要转换到的类型,因为编译器大多数时候不能推断它。不过考虑到我们免费获得了 ` Into ` ,这点代价不值一提。
43
43
44
44
``` rust,editable
45
- use std::convert::From ;
45
+ use std::convert::Into ;
46
46
47
47
#[derive(Debug)]
48
48
struct Number {
49
49
value: i32,
50
50
}
51
51
52
- impl From<i32 > for Number {
53
- fn from(item: i32 ) -> Self {
54
- Number { value: item }
52
+ impl Into<Number > for i32 {
53
+ fn into(self ) -> Number {
54
+ Number { value: self }
55
55
}
56
56
}
57
57
58
58
fn main() {
59
59
let int = 5;
60
- // 试试删除类型说明
60
+ // 试试删除类型注释
61
61
let num: Number = int.into();
62
62
println!("My number is {:?}", num);
63
63
}
You can’t perform that action at this time.
0 commit comments