more-asserts

Crates.iomore-asserts
lib.rsmore-asserts
version0.3.1
sourcesrc
created_at2016-06-18 15:22:24.617671
updated_at2022-10-01 08:33:45.677928
descriptionSmall library providing additional assert_* and debug_assert_* macros.
homepagehttps://github.com/thomcc/rust-more-asserts
repositoryhttps://github.com/thomcc/rust-more-asserts
max_upload_size
id5415
size41,330
crates-io (github:sigp:crates-io)

documentation

https://docs.rs/more-asserts

README

More Asserts (for Rust).

Docs Latest Version Minimum Rust Version

Small library providing assertion macros similar to the {debug_,}assert_{eq,ne} macros in the stdlib.

Usage

use more_asserts as ma;

#[derive(Debug, PartialEq, PartialOrd)]
enum Example { Foo, Bar }

ma::assert_le!(3, 4);
ma::assert_ge!(
    10, 10,
    "You can pass a message too (just like `assert_eq!`)",
);
ma::debug_assert_lt!(
    1.3, 4.5,
    "Format syntax is supported ({}).",
    "also like `assert_eq!`"
);

ma::assert_gt!(
    Example::Bar, Example::Foo,
    "It works on anything that implements PartialOrd and Debug!",
);

License

Public domain as explained by either the Unlicense or CC0. If neither of these are acceptable, you can also choose use it under the MIT/Apache2 combo typical of Rust code.

Yes, this is a lot. It was originally just "public domain as explained by CC0" (since CC0 was the public domain-alike license preferred by lawyers), but then CC0 fell out of favor, so I added the others as alternatives: Unlicense as a (hopefully) better public domain analogue, and MIT/Apache2 since (I know some folks dislike the Unlicense and) Rust will implode if those ever become a problem.

Commit count: 26

cargo fmt