runtime_cfg 0.1.0

Evaluation of configuration flags, at runtime-time.
Documentation

runtime_cfg travis crate docs

Evaluation of configuration flags, at runtime-time.

Usage

To use runtime_cfg in your project, add the following to your Cargo.toml:

[dependencies]
runtime-cfg = "0.1"

Example

use std::convert::TryFrom;

use quote::quote;

use runtime_cfg::*;

let cfg = quote! { #[cfg(all(unix, target_pointer_width = "32"))] };

let cfg = Cfg::try_from(cfg).unwrap();
assert_eq!(cfg, all(vec![name("unix"), name_value("target_pointer_width", "32")]).into());

let flags = vec![("unix", None), ("target_pointer_width", Some("32"))];
assert!(cfg.matches(&flags));