# Macro std::cfg

1.0.0 · source ·

    macro_rules! cfg {
        ($($cfg:tt)*) => { ... };
    }

Expand description

Evaluates boolean combinations of configuration flags at compile-time.

In addition to the `#[cfg]` attribute, this macro is provided to allow boolean expression evaluation of configuration flags. This frequently leads to less duplicated code.

The syntax given to this macro is the same syntax as the `cfg` attribute.

`cfg!`, unlike `#[cfg]`, does not remove any code and only evaluates to true or false. For example, all blocks in an if/else expression need to be valid when `cfg!` is used for the condition, regardless of what `cfg!` is evaluating.

## Examples

    let my_directory = if cfg!(windows) {
        "windows-specific-directory"
    } else {
        "unix-directory"
    };

Run