devela::_dep::_std::prelude::rust_2018

Macro env

1.55.0 · Source
macro_rules! env {
    ($name:expr $(,)?) => { ... };
    ($name:expr, $error_msg:expr $(,)?) => { ... };
}
Available on crate feature std only.
Expand description

Inspects an environment variable at compile time.

This macro will expand to the value of the named environment variable at compile time, yielding an expression of type &'static str. Use std::env::var instead if you want to read the value at runtime.

If the environment variable is not defined, then a compilation error will be emitted. To not emit a compile error, use the option_env! macro instead. A compilation error will also be emitted if the environment variable is not a valid Unicode string.

§Examples

let path: &'static str = env!("PATH");
println!("the $PATH variable at the time of compiling was: {path}");

You can customize the error message by passing a string as the second parameter:

let doc: &'static str = env!("documentation", "what's that?!");

If the documentation environment variable is not defined, you’ll get the following error:

error: what's that?!