Ensure that the static_assert! argument is a bool

This commit is contained in:
Oliver Scherer 2018-11-16 11:59:31 +01:00
parent 6b9b97bd9b
commit 65e6fdb92e

View File

@ -11,11 +11,12 @@
/// A simple static assertion macro. The first argument should be a unique
/// ALL_CAPS identifier that describes the condition.
#[macro_export]
#[allow_internal_unstable]
macro_rules! static_assert {
($name:ident: $test:expr) => {
// Use the bool to access an array such that if the bool is false, the access
// is out-of-bounds.
#[allow(dead_code)]
static $name: () = [()][!$test as usize];
static $name: () = [()][!($test: bool) as usize];
}
}