我想定义一个类似的特征(以避免以后重复):
trait Callback: FnOnce() + Send {}
但是,编译器要求我定义FnOnce的输出:
错误:关联类型
Output
的值(来自特征core::ops::FnOnce
)必须指定[E0191]
我试图默认该值,但它警告这是不稳定的。
type Output = ();
错误:关联类型默认值不稳定
我可以将输出定义为表示“不返回”?普通的函数调用语法只是省略了它。
答案 0 :(得分:5)
您可以通过明确返回类型来解决此问题:
trait Callback: FnOnce() -> () + Send {}
老实说,我不确定这是不是一个错误。