Rust 为返回的结果指定错误类型(在SinkExt.with上下文中)
我正在尝试使用SinkExt.with在发送之前转换数据包字节。这是一个最小的代码段: 让mut下沉,stream=codec::Framed::newserial,codec::ProtocolCodec::new.split; 设sink=sink.with |输入:字节|{ //变换输入 future::ReadyInput }; 不幸的是,编译器1.39.0抱怨:Rust 为返回的结果指定错误类型(在SinkExt.with上下文中),rust,rust-tokio,Rust,Rust Tokio,我正在尝试使用SinkExt.with在发送之前转换数据包字节。这是一个最小的代码段: 让mut下沉,stream=codec::Framed::newserial,codec::ProtocolCodec::new.split; 设sink=sink.with |输入:字节|{ //变换输入 future::ReadyInput }; 不幸的是,编译器1.39.0抱怨: error[E0698]: type inside `async` object must be known in this
error[E0698]: type inside `async` object must be known in this context
--> src/main.rs:68:25
|
68 | let sink = sink.with(|b: Bytes| {
| ^^^^ cannot infer type for `E`
|
我可以理解,对于我返回的结果,它缺少可能的错误类型E。我的问题是我无法理解如何正确地指定它 您可以使用turbofish显式指定类型: sink.with::| b:Bytes |{…}