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