rust_cfg_parser 0.1.0

Parser for rust cfg() expression
Documentation
  • Coverage
  • 70%
    14 out of 20 items documented3 out of 8 items with examples
  • Size
  • Source code size: 22.68 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.95 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 9s Average build duration of successful builds.
  • all releases: 9s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • samarunraj/rust_cfg_parser
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • samarunraj

rust_cfg_parser - Parser for rust cfg() expression

Build Status Crates.io Docs

Usage

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

[dependencies]
rust_cfg_parser = "0.1.0"

Example

use rust_cfg_parser::{CfgValue, parse};

let expr = parse("cfg(windows)").unwrap();

let matches = expr.matches(&[CfgValue::Name("linux".to_string())]);
assert_eq!(false, matches);

let matches = expr.matches(&[CfgValue::Name("windows".to_string())]);
assert_eq!(true, matches);

let expr = parse("cfg(all(any(target_arch =\"x86_64\", target_arch = \"aarch64\"), target_os = \"windows\"))").unwrap();
assert_eq!(
    true,
    expr.matches(&[
        CfgValue::KeyPair("target_arch".to_string(), "x86_64".to_string()),
        CfgValue::KeyPair("target_os".to_string(), "windows".to_string())
    ])
);

License: MIT