How to pass rustc flags to cargo?

情到浓时终转凉″ 提交于 2019-11-29 13:43:32

问题


I am trying to disable dead code warnings. I tried the following

cargo build -- -A dead_code

➜ rla git:(master) ✗ cargo build -- -A dead_code error: Invalid arguments.

So I am wondering how would I pass rustc arguments to cargo?


回答1:


You can pass flags through Cargo by several different means:

  • cargo rustc, which only affects your crate and not its dependencies.
  • The RUSTFLAGS environment variable, which affects dependencies as well.
  • Some flags have a proper Cargo option, e.g., -C lto and -C panic=abort can be specified in the Cargo.toml file.
  • Add flags in .cargo/config using one of the rustflags= keys.

However, in your specific case of configuring lints, you don't need to use compiler flags; you can also enable and disable lints directly in the source code using attributes. This may in fact be a better option as it's more robust, more targeted, and doesn't require you to alter your build system setup:

#![deny(some_lint)] // deny lint in this module and its children

#[allow(another_lint)] // allow lint in this function
fn foo() {
    ...
}

See also:

  • How to disable unused code warnings in Rust?


来源:https://stackoverflow.com/questions/38040327/how-to-pass-rustc-flags-to-cargo

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!