使用FnOnce定义特征,但没有返回类型

Sco*_*ger 3 rust

我想像这样定义一个特征(以避免以后重复):

trait Callback: FnOnce() + Send {}
Run Code Online (Sandbox Code Playgroud)

但是,编译器要求我从FnOnce定义Output:

错误:必须指定相关类型的值Output(来自特征 core::ops::FnOnce)[E0191]

我试图默认值,但它警告这是不稳定的.

type Output = ();
Run Code Online (Sandbox Code Playgroud)

错误:关联类型默认值不稳定

我可以定义什么输出表示"不返回"?普通函数调用语法只是省略了它.

DK.*_*DK. 5

您可以通过明确返回类型来解决此问题:

trait Callback: FnOnce() -> () + Send {}
Run Code Online (Sandbox Code Playgroud)

我老实说不确定这是不是一个bug.