use std::env;
use std::process::Command;
const CARGO_ENCODED_RUSTFLAGS: &str = "CARGO_ENCODED_RUSTFLAGS";
const RUSTFLAGS: &str = "RUSTFLAGS";
const IGNORED_LINTS: &[&str] = &["dead_code"];
pub fn make_vec() -> Vec<String> {
let mut rustflags = Vec::new();
for &lint in IGNORED_LINTS {
rustflags.push("-A".to_owned());
rustflags.push(lint.to_owned());
}
rustflags
}
pub fn set_env(cmd: &mut Command) {
let (key, mut val, separator) = match env::var_os(CARGO_ENCODED_RUSTFLAGS) {
Some(val) => (CARGO_ENCODED_RUSTFLAGS, val, "\x1f"),
None => match env::var_os(RUSTFLAGS) {
Some(val) => (RUSTFLAGS, val, " "),
None => return,
},
};
for flag in make_vec() {
if !val.is_empty() {
val.push(separator);
}
val.push(flag);
}
cmd.env(key, val);
}