我有一个 Rust 项目,多人参与。我们使用的外部板条箱定义了某些有问题的函数,这是许多混乱和错误的根源。我想在编译时完全拒绝/禁止在包范围内使用这些函数。有什么办法可以做到这一点吗?
Frx*_*rem 14
您可以使用disallowed_methodClippy lint 来完成此操作。(还有disallowed_type类型。)
例如,禁止Box::new:
#![deny(clippy::disallowed_method)]
fn main() {
let my_box = Box::new(123);
}
Run Code Online (Sandbox Code Playgroud)
将其添加到clippy.toml工作区根目录中:
disallowed-methods = [
# fully qualified function/method name:
"std::boxed::Box::new",
]
Run Code Online (Sandbox Code Playgroud)
然后运行时cargo clippy,您将收到有关使用不允许的函数的错误:
error: use of a disallowed method `alloc::boxed::Box::new`
--> src/main.rs:4:16
|
4 | let my_box = Box::new(123);
| ^^^^^^^^^^^^^
|
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
763 次 |
| 最近记录: |