⚙️ cfg-expr
A parser and evaluator for Rust cfg()
expressions. Builtin targets as of 1.83.0 are supported.
Alternatives
Usage
cfg-expr
is a crate that can be used to parse and evaluate Rust cfg()
expressions, both as declarable in Rust code itself, as well in cargo manifests' [target.'cfg()'.dependencies]
sections.
It contains a list of all builtin targets known to rustc as of 1.83.0 that can be used to determine if a particular cfg expression is satisfiable.
use ;
let specific = parse.unwrap;
// cfg_expr includes a list of every builtin target in rustc
let x86_win = get_builtin_target_by_triple.unwrap;
let x86_pentium_win = get_builtin_target_by_triple.unwrap;
let uwp_win = get_builtin_target_by_triple.unwrap;
let mac = get_builtin_target_by_triple.unwrap;
let avail_target_feats = ;
// This will satisfy all requirements
assert!;
// This won't, it doesn't have the cool_thing feature!
assert!;
// This will *not* satisfy the vendor predicate
assert!;
// This will *not* satisfy the vendor, os, or env predicates
assert!;
Contributing
We welcome community contributions to this project.
Please read our Contributor Guide for more information on how to get started.
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.