15 unstable releases (3 breaking)
0.4.1 | Aug 4, 2024 |
---|---|
0.4.0 | Aug 4, 2024 |
0.3.4 | Aug 3, 2024 |
0.2.1 | May 4, 2024 |
0.1.5 | Nov 30, 2023 |
#1002 in Procedural macros
37,461 downloads per month
Used in 62 crates
(via equator)
32KB
803 lines
equator
equator
is an assertion library that aims to provide helpful diagnostics when
multiple conditions need to be asserted at once, without short-circuiting.
Valid assertions must be of the form:
cond
for testing a single condition,all(...)
for testing that multiple conditions all hold simultaneously,any(...)
for testing that at least one condition holds.
all
and any
may be arbitrarily nested.
Example
let x = 0;
let y = 1;
let a = 4;
let b = 2;
// `equator::debug_assert!` is also available for debug-only assertions
equator::assert!(all(x == y, a < b));
This should panic with an error message like
Assertion failed at path/main.rs:8:1
Assertion failed: x == y
- x = 0
- y = 1
Assertion failed: a < b
- a = 4
- b = 2
Dependencies
~240–690KB
~16K SLoC