第三方库上的“未解析导入”生 rust

wgmfuz8q  于 2023-01-13  发布在  其他
关注(0)|答案(1)|浏览(183)

我想用第三方的warp库编译一个简单的rust程序:

[package]
name = "hello-world-warp"
version = "0.1.0"

[dependencies]
warp = "0.1.18"

src/main.rs中:

use warp::{self, path, Filter};

fn main() {
    // GET /hello/warp => 200 OK with body "Hello, warp!"
    let hello = warp::path!("hello" / String)
        .map(|name| format!("Hello, {}!", name));

    warp::serve(hello)
        .run(([127, 0, 0, 1], 3030));
}

当我运行cargo build时,我看到它下载了warp和大量的传递依赖项,然后我得到了错误:

Compiling hello-world-warp v0.1.0 (<path>) error[E0432]: unresolved import `warp`
 --> src/main.rs:3:12
  |
3 | use warp::{self, path, Filter};
  |            ^^^^ no `warp` in the root

error: cannot find macro `path!` in this scope

我已经看过了关于模块和板条箱的各种文档。在这个简单的场景中,我做错了什么?

83qze16e

83qze16e1#

您复制的示例使用的语法在Rust的最新版本中有效,但您不小心将Rust设置为模拟该语言的旧“2015”版本。
您必须添加:

edition = "2018"

到您的Cargo.toml[package]部分。
当开始新项目时,总是使用cargo new。它将确保正确设置最新版本标志。

相关问题