如何仅针对 "bin" 目标禁用 lints
How to disable lints for the "bin" target only
我有一个 Rust 项目文件夹结构,其中包含一个可执行文件和一个共享的 C 兼容库,它们都是使用相同的源构建的。 Cargo.toml
清单文件如下所示:
[package]
name = "foo-bar"
version = "0.1.0"
authors = ...
[lib]
name = "foo_bar"
crate-type = ["rlib", "cdylib"]
[[bin]]
name = "foo-bar"
test = false
doc = false
[dependencies]
...
由于可执行文件未使用所有代码,因此我在使用 cargo build
构建项目时收到一些 "unused code" 警告。我可以在必要时在我的源代码中添加 #[allow(dead_code)]
lints,但这也会在构建库目标时禁用它们。
有没有办法仅在编译(功能更小的)bin
可执行目标但为 lib
目标启用它时全局禁用 "dead_code" lint?
You can modify a lint for a whole crate 通过在 crate 的开头放置一个带有 #!
的属性:
main.rs:
#![allow(dead_code)]
// etc.
我有一个 Rust 项目文件夹结构,其中包含一个可执行文件和一个共享的 C 兼容库,它们都是使用相同的源构建的。 Cargo.toml
清单文件如下所示:
[package]
name = "foo-bar"
version = "0.1.0"
authors = ...
[lib]
name = "foo_bar"
crate-type = ["rlib", "cdylib"]
[[bin]]
name = "foo-bar"
test = false
doc = false
[dependencies]
...
由于可执行文件未使用所有代码,因此我在使用 cargo build
构建项目时收到一些 "unused code" 警告。我可以在必要时在我的源代码中添加 #[allow(dead_code)]
lints,但这也会在构建库目标时禁用它们。
有没有办法仅在编译(功能更小的)bin
可执行目标但为 lib
目标启用它时全局禁用 "dead_code" lint?
You can modify a lint for a whole crate 通过在 crate 的开头放置一个带有 #!
的属性:
main.rs:
#![allow(dead_code)]
// etc.