Go to file
2019-08-14 12:43:38 -07:00
.github/workflows Name the workflow 2019-08-14 12:43:38 -07:00
src Switch CI to GitHub Actions 2019-08-14 12:24:09 -07:00
tests Update xcrate test to 2018 2019-06-21 09:47:58 -07:00
.gitignore Initial commit 2015-07-07 18:07:04 -07:00
Cargo.toml Migrate to the 2018 edition 2019-06-21 09:47:38 -07:00
LICENSE-APACHE Add missing license files 2017-02-21 06:43:06 -08:00
LICENSE-MIT Add missing license files 2017-02-21 06:43:06 -08:00
README.md Update example usage 2019-06-21 09:45:26 -07:00

cfg-if

Build Status

Documentation

A macro to ergonomically define an item depending on a large number of #[cfg] parameters. Structured like an if-else chain, the first matching branch is the item that gets emitted.

[dependencies]
cfg-if = "0.1"

Example

cfg_if::cfg_if! {
    if #[cfg(unix)] {
        fn foo() { /* unix specific functionality */ }
    } else if #[cfg(target_pointer_width = "32")] {
        fn foo() { /* non-unix, 32-bit functionality */ }
    } else {
        fn foo() { /* fallback implementation */ }
    }
}

fn main() {
    foo();
}

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Serde by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.