A macro for easy generation and wrapping of a const function under a const_fn feature gate.
const-ft = { version = "0.1" }
You can enable the feature by having a feature in the project enable the feature from the crate:
[features]
const = ["const-ft/const_fn"]
const_ft! {
pub fn some_function() -> usize {
1usize
}
By using the macro, your code changes from
#![cfg_attr(feature = "const_fn", feature(const_fn))]
#[cfg(feature = "const_fn")]
pub const fn some_function() -> usize {
1usize
}
#[cfg(not(feature = "const_fn"))]
pub fn some_function() -> usize {
1usize
}
to
#![cfg_attr(feature = "const_fn", feature(const_fn))]
#[macro_use]
extern crate const_ft;
const_ft! {
pub fn some_function() -> usize {
1usize
}
}