我正在玩 Rust 的capnproto 库。因为 Rust 可以在某些情况下推断类型,所以我可以这样做:
let mut message = ::capnp::message::Builder::new_default();
无需知道消息的类型。如果我想将一个引用传递给message
一个函数,我现在需要知道什么消息是让函数知道会发生什么。
一般有没有方便的方法来做到这一点?
到目前为止,我已经完成了以下工作:
let testing: () = message;
编译器错误失败:
error[E0308]: mismatched types
--> src/main.rs:197:18
|
197 | let temp: () = message;
| ^^^^^^^ expected (), found struct `capnp::message::Builder`
但是当我键入注释我的函数时,如下所示:
fn example_fn(message: capnp::message::Builder) {...}
我收到如下错误:
error[E0243]: wrong number of type arguments: expected 1, found 0
--> src/main.rs:72:32
|
72 | fn dump_capnp_to_file(message: capnp::message::Builder, filename: &str) {
| ^^^^^^^^^^^^^^^^^^^^^^^ expected 1 type argument
错误:由于先前的错误而中止
我对来自 C++ 背景的 Rust 非常陌生;对不起,如果这是一个菜鸟问题!