diff options
author | Miguel Ojeda <ojeda@kernel.org> | 2022-11-10 17:41:36 +0100 |
---|---|---|
committer | Miguel Ojeda <ojeda@kernel.org> | 2022-12-04 01:59:16 +0100 |
commit | ef9e37973c3a50497c943e70d577dad10a8e41f2 (patch) | |
tree | c37456e5676a9169156ad4a03926655dfc27f064 /rust/Makefile | |
parent | bee1688940b9264a9960e6afdac36a4af35f1f4b (diff) | |
download | linux-stable-ef9e37973c3a50497c943e70d577dad10a8e41f2.tar.gz linux-stable-ef9e37973c3a50497c943e70d577dad10a8e41f2.tar.bz2 linux-stable-ef9e37973c3a50497c943e70d577dad10a8e41f2.zip |
rust: static_assert: add `static_assert!` macro
Add the `static_assert!` macro, which is a compile-time assert, similar
to the C11 `_Static_assert` and C++11 `static_assert` declarations [1,2].
Do so in a new module, called `static_assert`.
For instance:
static_assert!(42 > 24);
static_assert!(core::mem::size_of::<u8>() == 1);
const X: &[u8] = b"bar";
static_assert!(X[1] == b'a');
const fn f(x: i32) -> i32 {
x + 2
}
static_assert!(f(40) == 42);
Link: https://en.cppreference.com/w/c/language/_Static_assert [1]
Link: https://en.cppreference.com/w/cpp/language/static_assert [2]
Co-developed-by: Alex Gaynor <alex.gaynor@gmail.com>
Signed-off-by: Alex Gaynor <alex.gaynor@gmail.com>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Diffstat (limited to 'rust/Makefile')
0 files changed, 0 insertions, 0 deletions