PackageTrack
Sign in Get early access

more-asserts

Small library providing additional assert_* and debug_assert_* macros.

0.3.1 31M downloads/mo #1655 most downloaded on crates.io thomcc/rust-more-asserts

What this package is like to depend on

Last release 4 years ago

no release in 18 months

Release timing varies

gaps range from 4 months to 3.5 years

Some releases are documented

notes for 2 of 6 stable releases

Nothing withdrawn

no release was ever pulled

10 years old

6 releases · first in 2016

0 releases in the last 12 months

see the full history below

Release timeline

6 releases · Jun 2016 to Oct 2022
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 6
  1. 0.3.1 01 Oct 2022
    Release notes

    This release has no changes to the code, but adds other license options, since CC0 is becoming a problem.

    This re-licenses so that it's quad-licensed under whatever you prefer of: Unlicense, CC0, MIT, or Apache2, since surely at least one of these is acceptable.

    Yes, this is overkill, I just don't want to have to deal with it again.

    Open source →
  2. 0.3.0 03 Jun 2022
    Release notes

    Version 0.3.0

    Improvements

    The internals of this crate have been rewritten and modernized to avoid a few problems in the previous implementation. Please file bugs if you notice issues.

    • The macros now properly reference things using $crate::, so that they may be called as more_asserts::some_macro! without first pulling them into scope with use.

    • The documentation has been overhauled. Rather than suggesting #[macro_use] extern crate more_asserts;, we now suggest a pattern of importing with use more_asserts as ma; and invoking as ma::assert_gt! and similar.

      Of course, pulling the macros in via #[macro_use] extern crate more_asserts; will still work.

    • The macros now are implemented by calling outlined #[track_caller] functions to perform formatting and invoke the panic rather than directly panicking inside the macro body.

      This reduces the amount of code bloat produced by calls to the macros, and can improve the success-path performance of code which uses the macros (generally by allowing the compiler to inline functions that it would otherwise consider too large).

      In pathological cases, it may improve compile time as well.

    Breaking changes

    Due to the use of #[track_caller], this release increases the MSRV (the required version of the Rust compiler) to 1.46.0. This is the only breaking change.

    1.46.0 is several years old now (even Debian stable has it), so hopefully1 this is fine.

    1. If it is not, let me know (file an issue), and I can consider doing compiler version detection in a build script, but I would rather not do this.

    Open source →
  3. 0.2.2 17 Nov 2021

    Nothing published for this version

  4. 0.2.1 23 May 2018

    Nothing published for this version

  5. 0.2.0 23 May 2018

    Nothing published for this version

  6. 0.1.0 18 Jun 2016

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive