Rollup merge of #55945 - oli-obk:static_assert_arg_type, r=michaelwoerister

Ensure that the argument to `static_assert` is a `bool`

cc @eddyb
This commit is contained in:
kennytm 2018-11-24 01:31:51 +08:00 committed by GitHub
commit 12f6a42f61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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];
}
}