2
#![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
特質,但我不明白如何調用該結構作爲函數。我收到錯誤:如何使結構可調用?
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
我是Rust的新手,無法找到如何使這件事發生的示例。
非常感謝!非常好的解釋。 –
@АндрейЛедовских歡迎您。請記住提出有用的答案,並接受最能幫助您解決問題的答案。 – Shepmaster