Rust compile-time assertions to ensure that invariants are met.
This crate is available on crates.io and can be used by adding the following to your project's Cargo.toml
:
[dependencies] static_assertions = "0.3.1"
and this to your crate root (main.rs
or lib.rs
):
#[macro_use] extern crate static_assertions;
This crate exposes the following macros:
assert_cfg!
assert_eq_size!
assert_eq_size_ptr!
assert_eq_size_val!
assert_fields!
assert_impl!
assert_obj_safe!
const_assert!
const_assert_eq!
See issue #1 to read up on current limitations of this crate and how to currently overcome them.
See CHANGELOG.md
for a complete list of what has changed from one version to another.
This project is released under either:
at your choosing.