#[allow(unused_must_use)] 一行

mq7*_*mq7 7 rust

我有返回的行Result。结果并不重要,我不想要unwrap()或任何日志记录。(预期频繁失败)

我怎样才能让这些行的未使用警告静音?

#[allow(unused_must_use)] 应用于 fn 级别时似乎有效,但这不起作用:

#[allow(unused_must_use)]
std::fs::remove_file(&path1);
#[allow(unused_must_use)]
std::fs::remove_file(&path2);
Run Code Online (Sandbox Code Playgroud)

编辑: whilelet _ = ..作为一种解决方法,#[allow(unused..)]专门针对这种情况而存在,并且编译器也建议使用它。阅读let _ = ..增加了另一层思维。(分配然后放弃)所以我更喜欢#[allow(..)]虽然它更冗长。(如果我let _ = ..经常看到并且习惯了,我可能会改变我的偏好)

所以我四处搜索,发现了一些将宏应用于语句级别的代码。这个问题询问为什么#[allow(unused_must_use)]一行不起作用 - 语法错误?漏洞?只是尚未实现unused_must_use

编辑: 根据这个:

如何在 Rust 中消除单个语句的警告? 我的代码应该可以工作。

阅读这些:

https://github.com/rust-lang/rust/issues/36675

https://github.com/rust-lang/rust/issues/15701

我在范围级别尝试了允许并且它起作用了。

#[allow(unused_must_use)] {
    std::fs::remove_file(&path1);
    std::fs::remove_file(&path2);
}
Run Code Online (Sandbox Code Playgroud)

归档时间:

查看次数:

2457 次

最近记录:

7 年,6 月 前