代码之家  ›  专栏  ›  技术社区  ›  blerontin

如何仅为“bin”目标禁用lints

  •  0
  • blerontin  · 技术社区  · 7 年前

    我有一个Rust project文件夹结构,其中包含一个可执行文件和一个共享的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 .我可以补充 #[allow(dead_code)] 必要时,我的源代码上都会出现lint,但在构建库目标时也会禁用它们。

    是否有一种方法仅在编译时全局禁用“dead_code”lint(功能方面更小) bin 可执行目标,但已为 lib 目标

    0 回复  |  直到 7 年前
        1
  •  1
  •   Boiethios    7 年前

    You can modify a lint for a whole crate 通过使用 #! 在板条箱的开头:

    主要的rs:

    #![allow(dead_code)]
    
    // etc.
    
    推荐文章