macro_rules! konst {
($type:ty, $expr:expr $(,)*) => { ... };
}
Expand description
Emulates the inline const feature(const{ ... }
) in pre-1.79 versions.
As opposed to inline const, you must pass the type that the expression evaluates to.
§Limitations
This can’t be used with expressions that reference generic parameters.
§Example
use konst::{konst, eq_str};
const FOO: &str = "hello";
// By using `konst` here, the function is unconditionally evaluated at compile-time.
if konst!{bool, eq_str(FOO, "hi")} {
panic!("The constants are equal, this wasn't supposed to happen!!");
}