#![feature(unboxed_closures)]
#![feature(fn_traits)]
struct foo;
impl std::ops::Add for foo {
type Output = foo;
fn add(self, x: foo) -> foo {
println!("Add for foo");
x
}
}
impl Fn for foo {
extern "rust-call" fn call(&self) -> Self {
println!("Call for Foo ");
self
}
}
fn main() {
let x = foo;
let y = foo;
x + y;
x();
}
私はAdd
の特性を実装しましたが、構造体を関数として呼び出す方法はわかりません。私はエラーを取得する:structを呼び出し可能にするにはどうすればよいですか?
error[E0243]: wrong number of type arguments: expected 1, found 0
--> src/main.rs:14:10
|
14 | impl Fn for foo {
| ^^ expected 1 type argument
私は錆に新たなんだ、この事が起こるようにする方法の例を見つけることができません。
おかげでたくさん!非常に良い説明。 –
@АндрейЛедовскихあなたは大歓迎です。役に立つと思われる回答をupvoteし、あなたの問題解決に最も役立った回答を受け入れることを忘れないでください。 – Shepmaster