【发布时间】:2018-03-18 19:45:10
【问题描述】:
我对以下代码感到困惑 (Listing 13-9):
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本身只是不稳定真实Fntrait 的糖
【问题讨论】:
标签: syntax rust closures traits