NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #254 most downloaded on crates.io
Compile-time assertions to ensure that invariants are met.
Last release 7 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 11 months
Nearly every release is documented
notes for 15 of 15 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
15 releases · first in 2017
Asserts that the type implements any of the given traits.
assert_impl_any! macro
assert_impl_one! macro
assert_trait_sub_all! macro
assert_trait_super_all! macro
README.mdassert_eq_size_val!, const_assert_eq!, and const_assert_ne! to exportused or called directly via static_assertions::macro!(...)_assert_obj_safe! from pre-1.0assert_impl_any! macroassert_impl_one! macroassert_trait_sub_all! macroassert_trait_super_all! macroREADME.mdassert_eq_size_val!, const_assert_eq!, and const_assert_ne! to export
their local inner macros. Not having this prevented them from working when
used or called directly via static_assertions::macro!(...)_assert_obj_safe! from pre-1.0One column per quarter.
[breaking] Labels from macros that needed them 🎉
assert_eq_align! macroconst _] in Rust 1.37assert_impl! macroassert_fields! now works for enum types with multiple variantsconst_assert! macro to only take one expression
assert!]), having the macro allow for multiple comma-separated
expressions may lead to ambiguityType: Trait syntaxType: field1, field2 syntaxassert_{ne,eq}_type! to assert_type_{ne,eq}_all!Aliased assert_impl! to assert_impl_all! and deprecated assert_impl!
assert_impl! to assert_impl_all! and deprecated assert_impl!assert_impl_all! as replacement to assert_impl!assert_not_impl_all! and assert_not_impl_any! macro counterparts to
assert_impl_all!assert_eq_type! now works with types involving lifetimesRelease static_assertions 0.0.9
Release static_assertions 0.0.9
const_assert_ne! macro counterpart to const_assert_eq!assert_eq_type! would pass when types can coerce via Deref, such as with
str and String[Release] Prepare 0.3.2
[Release] Prepare 0.3.2
assert_eq_type! macro that allows for checking whether inputs are the same
concrete typeassert_ne_type! macro for checking whether inputs all refer to different
typesconst_assert! now only takes bool values whereas integer (or other type)
values could previously be passedMacros that refer to other internal macros can now be imported when compiling for Rust 2018 ( issue #10 )
Bumped minimum supported (automatically tested) Rust version to 1.24.0
assert_cfg! to last argument position, makingmacro!(label; ...) syntax when compiling on nightly Rust andnightly feature flag (read more)assert_eq_size_ptr wraps its code inside of a closure, ensuring that the unsafe code inside never runs
assert_eq_size_ptr wraps its code inside of a closure, ensuring that the
unsafe code inside never runsunneeded_field_pattern within assert_fieldsRemoved the actual call to mem::transmute while still utilizing it for size verification ([Simon Sapin], [#5])
mem::transmute while still utilizing it for size
verification ([Simon Sapin], [#5])assert_cfg macro that asserts that the given configuration is setassert_fields macro to assert that a struct type or enum variant has a given
fieldassert_implTrailing commas are now allowed
Added assert_impl macro to ensure a type implements a given set of traits
assert_impl macro to ensure a type implements a given set of traitsAdded assert_obj_safe macro for ensuring that a trait is object-safe
assert_obj_safe macro for ensuring that a trait is object-safeAllow assert_eq_size, const_assert, and const_assert_eq in non-function contexts via providing a unique label [#1]
assert_eq_size_ptr macroassert_eq_size, const_assert, and const_assert_eq in non-function
contexts via providing a unique label [#1]assert_eq_size is no longer allowed### Added - Added const_assert_eq macro
const_assert_eq macro[Simon Sapin]: https://github.com/SimonSapin
Initial release
Your coding agent can read these notes before it upgrades. Set up the MCP server →