1 stable release

1.0.0 Feb 8, 2022

#334 in FFI

22 downloads per month

MIT license

7KB
63 lines

crates.io docs.rs license

env_ast

Dead simple procedural macro that mimics env! but outputs AST tokens instead of a string literal.

WARNING: This macro is potentially DANGEROUS and can introduce arbitrary code execution (ACE) if used improperly. If you need this macro, make sure you REALLY need it.

Usage

Simply add to your Cargo.toml file:

[dependencies]
env_ast = "*"

And in your code:

#[macro_use] extern crate env_ast;

fn it_works() {}
fn default_works() {}

fn main() {
    env_ast!("MY_ENV_VAR")(); // For this to compile, MY_ENV_VAR must be set to `it_works` at build time
    env_ast!("ENV_VAR_THAT_IS_NOT_SET", default_works)(); // You can provide a default set of tokens if the environment variable is not found
}

Dependencies

~1.5MB
~33K SLoC