File tree Expand file tree Collapse file tree 2 files changed +10
-10
lines changed Expand file tree Collapse file tree 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.
5151However this is a small trade-off considering we get the functionality for free.
5252
5353``` rust,editable
54- use std::convert::From ;
54+ use std::convert::Into ;
5555
5656#[derive(Debug)]
5757struct Number {
5858 value: i32,
5959}
6060
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 }
6464 }
6565}
6666
6767fn main() {
6868 let int = 5;
69- // Try removing the type declaration
69+ // Try removing the type annotation
7070 let num: Number = int.into();
7171 println!("My number is {:?}", num);
7272}
Original file line number Diff line number Diff line change @@ -42,22 +42,22 @@ fn main() {
4242使用 ` Into ` trait 通常要求指明要转换到的类型,因为编译器大多数时候不能推断它。不过考虑到我们免费获得了 ` Into ` ,这点代价不值一提。
4343
4444``` rust,editable
45- use std::convert::From ;
45+ use std::convert::Into ;
4646
4747#[derive(Debug)]
4848struct Number {
4949 value: i32,
5050}
5151
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 }
5555 }
5656}
5757
5858fn main() {
5959 let int = 5;
60- // 试试删除类型说明
60+ // 试试删除类型注释
6161 let num: Number = int.into();
6262 println!("My number is {:?}", num);
6363}
You can’t perform that action at this time.
0 commit comments