【问题标题】:How to convert sink from 0.1 futures to 0.3 futures如何将 sink 从 0.1 期货转换为 0.3 期货
【发布时间】:2020-07-20 07:25:39
【问题描述】:

我正在将我的代码库从期货 0.1 更新到期货 0.3。我以前工作的函数如下所示:

fn sink_task(
        message: String,
        sink: Box<
            Sink<
                SinkItem = datum::Message,
                SinkError = tungstenite::error::Error,
            >,
        >,
    ) 

我尝试使其适合新的 0.3 期货接收器定义

pub trait Sink<Item> {
    type Error;
}

像这样:

fn sink_task(
        message: String,
        sink: Box<
            Sink<
                Item = datum::Message,
                Error = tungstenite::error::Error,
            >,
        >,
    ) 

但是得到一个错误,说参数数量错误,应该是一个。我假设这意味着删除 Error 参数,但我仍然得到一个错误,说 Error is missing。

【问题讨论】:

    标签: rust


    【解决方案1】:

    Item 参数是 0.3 中的泛型参数,而不是关联类型。所以正确的语法是Sink&lt;datum::Message, Error = tungstenite::error::Error&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-14
      • 1970-01-01
      • 2020-06-26
      • 2019-09-01
      • 2020-10-05
      相关资源
      最近更新 更多