env

The tracking issue for this feature is: #118372.


This option flag allows to specify environment variables value at compile time to be used by env! and option_env! macros.

When retrieving an environment variable value, the one specified by --env will take precedence. For example, if you want have PATH=a in your environment and pass:

rustc --env PATH=env

Then you will have:

#![allow(unused)]
fn main() {
assert_eq!(env!("PATH"), "env");
}

Please note that on Windows, environment variables are case insensitive but case preserving whereas rustc's environment variables are case sensitive. For example, having Path in your environment (case insensitive) is different than using rustc --env Path=... (case sensitive).