如何只允许在开发版本中使用dead_code和未使用的import?

问题描述 投票:1回答:1

未使用的导入和无效代码警告是我在学习Rust时发现的最常见的警告,一段时间后(很短的时间,例如几秒钟),它们会变得很烦人。特别是当它们与编译器错误混合在一起时,因为它会使控制台难以阅读。

我能够关闭这些警告:

#![allow(unused_imports)]
#![allow(dead_code)]

这将禁用所有构建的警告,但我希望为发布构建启用警告。

我试图这样禁用它们:

#![cfg(dev)]
#![allow(unused_imports)]
#![allow(dead_code)]

但是,这从发行版本中删除了整个Rust文件(不是我想要的。)>

我尝试使用cfg_attr进行配置,但对两个版本均无效。

#![cfg_attr(dev, allow(unused_imports))]
#![cfg_attr(dev, allow(dead_code))]

我已经Google搜索并阅读了StackOverflow上的所有相关问题,但无法弄清楚。

未使用的导入和无效代码警告是我在学习Rust时发现的最常见的警告,一段时间后(很短的时间,例如几秒钟),它们会变得很烦人。特别是当它们是...

rust compiler-warnings
1个回答
0
投票

dev不是条件编译支持的谓词,因此您的示例将永远不会包含受影响的代码。据我所知,检测调试模式的最佳方法是使用#[cfg(debug_assertions)]。通过我的测试,#![cfg_attr(debug_assertions, allow(dead_code, unused_imports))]似乎可以为调试构建禁用棉绒,但在发行版本中启用它们。

© www.soinside.com 2019 - 2024. All rights reserved.