<分区>
我正在尝试使用 into
在下面的代码中这样:
use std::convert::{From, Into};
struct MyStruct {
x: i64,
}
impl From<i64> for MyStruct {
fn from(a: i64) -> Self {
Self { x: a }
}
}
impl Into<i64> for MyStruct {
fn into(self) -> i64 {
self.x
}
}
fn main() {
let s = MyStruct::from(5);
let b = s.into() == 5;
println!("{:?}", b);
}
它产生一个错误:
error[E0283]: type annotations required: cannot resolve `MyStruct: std::convert::Into<_>`
--> src/main.rs:21:15
|
21 | let b = s.into() == 5;
| ^^^^
我试过了s.into::<i64>()
和 s.into<i64>()
没有任何成功。唯一有效的案例是 let y: i64 = s.into();
, 但我需要 into()
在声明中。 into
的正确用法是什么? ?