我很困惑通过下面的代码(Listing 13-9):如何定义一个带参数和返回类型的特征,如Fn?
struct Cacher<T>
where
T: Fn(i32) -> i32,
{
calculation: T,
value: Option<i32>,
}
我明白Fn
是一个特点,但通常一个特点没有参数和返回类型。我如何定义像Fn
这样的特征?
我想看看at the definition(实际上这是FnOnce
,但Fn
有FnMut
约束和FnMut
已FnOnce
束缚...),但我仍然感到困惑。 <Args>
是什么意思?那么也something written about it in the Nomicon;但我不明白:
哪里
Fn(a, b, c) -> d
本身就是不稳定真正Fn
特质