macro_rules! option_env { ($name:expr $(,)?) => { ... }; }
🔬This is a nightly-only experimental API. (
prelude_2024
)Expand description
Optionally inspects an environment variable at compile time.
If the named environment variable is present at compile time, this will
expand into an expression of type Option<&'static str>
whose value is
Some
of the value of the environment variable. If the environment
variable is not present, then this will expand to None
. See
Option<T>
for more information on this type. Use
std::env::var
instead if you want to read the value at runtime.
A compile time error is never emitted when using this macro regardless
of whether the environment variable is present or not.
To emit a compile error if the environment variable is not present,
use the env!
macro instead.
§Examples
let key: Option<&'static str> = option_env!("SECRET_KEY");
println!("the secret key might be: {key:?}");