【问题标题】:Define a trait with FnOnce, but no return type用 FnOnce 定义一个特征,但没有返回类型
【发布时间】:2016-01-25 06:05:05
【问题描述】:

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

trait Callback: FnOnce() + Send {}

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

error:关联类型Output的值(来自trait core::ops::FnOnce) 必须指定 [E0191]

我尝试默认该值,但它警告说这是不稳定的。

type Output = ();

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

我可以将输出定义为什么来表示“不返回”?正常的函数调用语法只是省略了它。

【问题讨论】:

    标签: rust


    【解决方案1】:

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

    trait Callback: FnOnce() -> () + Send {}
    

    老实说,我不确定这是否是一个错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-29
      • 2018-03-18
      • 1970-01-01
      • 1970-01-01
      • 2020-12-31
      • 2022-07-31
      • 1970-01-01
      相关资源
      最近更新 更多