运行 cargo bench (criterion/serde) 时编译错误
Compile error when running cargo bench (criterion/serde)
我在项目的 cargo.toml
中添加了以下几行,以便对我的代码进行基准测试:
[dev-dependencies]
criterion = "0.3"
[[bench]]
name = "samples"
harness = false
运行cargo bench
之后,我得到了很多类似于下面的错误:
Compiling criterion v0.3.4
error[E0603]: module `export` is private
--> C:\Development\Rust\cargo\registry\src\github.com-1ecc6299db9ec823\criterion-0.3.4\src\connection.rs:201:17
|
201 | #[derive(Debug, Deserialize)]
| ^^^^^^^^^^^ private module
|
note: the module `export` is defined here
--> C:\Development\Rust\cargo\registry\src\github.com-1ecc6299db9ec823\serde-1.0.123\src\lib.rs:275:5
|
275 | use self::__private as export;
错误消息在我看来是 serde
和 criterion
之间存在问题。但是我在这两个项目issues中都没有发现这个错误信息,所以我的工作区可能有隐藏的原因。
一些附加信息:
- 该项目是使用 nightly 工具链编译的
cargo.toml
中只有一个显式依赖项(proc 宏),它传递引用 syn
、quote
和 proc-macro2
您的依赖关系图中的 serde
版本和 serde_derive
版本不匹配。您需要使用 cargo update
来使它们同步。两者必须始终具有相同的版本号。
我在项目的 cargo.toml
中添加了以下几行,以便对我的代码进行基准测试:
[dev-dependencies]
criterion = "0.3"
[[bench]]
name = "samples"
harness = false
运行cargo bench
之后,我得到了很多类似于下面的错误:
Compiling criterion v0.3.4
error[E0603]: module `export` is private
--> C:\Development\Rust\cargo\registry\src\github.com-1ecc6299db9ec823\criterion-0.3.4\src\connection.rs:201:17
|
201 | #[derive(Debug, Deserialize)]
| ^^^^^^^^^^^ private module
|
note: the module `export` is defined here
--> C:\Development\Rust\cargo\registry\src\github.com-1ecc6299db9ec823\serde-1.0.123\src\lib.rs:275:5
|
275 | use self::__private as export;
错误消息在我看来是 serde
和 criterion
之间存在问题。但是我在这两个项目issues中都没有发现这个错误信息,所以我的工作区可能有隐藏的原因。
一些附加信息:
- 该项目是使用 nightly 工具链编译的
cargo.toml
中只有一个显式依赖项(proc 宏),它传递引用syn
、quote
和proc-macro2
您的依赖关系图中的 serde
版本和 serde_derive
版本不匹配。您需要使用 cargo update
来使它们同步。两者必须始终具有相同的版本号。