1 unstable release
0.1.0 | Aug 25, 2020 |
---|
#2612 in Rust patterns
669 downloads per month
Used in light-curve-feature
4KB
macro_const
Creates corresponding macro definitions for constants, allowing the value of the constants to be used in the context of other macros.
This utility is mostly just for convenience, and for those who did not wish to write the macro themself.
Usage
This crate is available on crates.io. Use the most recent version of this crate when adding it to your dependencies as shown below.
[dependencies]
macro_const = "0.1.0"
View the documentation here for examples.
lib.rs
:
Creates corresponding macro definitions for constants, allowing the value of the constants to be used in the context of other macros.
Examples
macro_const! {
const FILE: &str = "message.txt";
}
println!("Contents: {}", include_str!(FILE!()));
println!("File: {}", FILE);
Doc comments can be added as well. The documentation for the constant will be added to the
generated macro verbatim. To export the generated macro, simply add the #[macro_export]
attribute to the constant definition.
macro_const! {
/// The API base URL.
#[macro_export]
pub const BASE_URL: &str = "https://myapi.io/";
/// The current supported API version.
pub const API_VERSION: &str = "v1";
}
assert_eq!("https://myapi.io/v1", concat!(BASE_URL!(), API_VERSION!()));