PackageTrack
Sign in Get early access

flex-error

Flexible error definitions using macros and traits

0.4.4 5.6M downloads/mo #4308 most downloaded on crates.io informalsystems/flex-error

What this package is like to depend on

Last release 5 years ago

no release in 18 months

Ships fairly regularly

a new release about every 2 weeks

Most releases are documented

notes for 8 of 11 stable releases

Nothing withdrawn

no release was ever pulled

5 years old

11 releases · first in 2021

0 releases in the last 12 months

see the full history below

Release timeline

11 releases · May 2021 to Oct 2021
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 11
  1. 0.4.4 20 Oct 2021
    Release notes

    Use `E: Display + Debug` trait bound for `ErrorTracer<E>`

    for eyre and anyhow tracers

    Open source →
    Release notes
    • Use E: Display + Debug + Send + Sync + 'static trait bound for ErrorTracer<E> for eyre and anyhow tracers. The original E: std::error::Error + Send + Sync + 'static trait bound do not work well when individual crates have std features disabled, but had flex-error's std feature enabled somehow.
    Open source →
  2. 0.4.3 27 Sep 2021
    Release notes
    • Add into_detail and into_trace methods to error types defined by define_error!.
    • Export local alias to std::error::Error so that std do not need to be available in user crate when define_error! is called.
    Open source →
  3. 0.4.2 03 Aug 2021
    Release notes
    • Make the Display implementation of error types use Debug to display error traces from eyre and other error tracers.
    Open source →
  4. 0.4.1 26 Jul 2021
    Release notes

    Breaking changes:

    • The impl definition for std::error::Error is now generated based on whether the std feature is enabled on the flex-error crate, instead of the user crate that calls define_error.
    Open source →
  5. 0.4.0 23 Jul 2021
    Release notes

    Breaking changes:

    • Define main error types in the form of struct Error(ErrorDetail, Trace) instead of the type alias type Error = ErrorReport<ErrorDetail, Trace>.

    • Remove auto derive of common traits such as Clone and Eq for the main error type. Users can instead implement the traits explicitly since it is no longer a type alias.

    • Change the error constructor convention from error::constructor_error() to error::Error::constructor().

    • Allow multiple attributes to be given to main and sub errors in define_error!.

    Open source →
  6. 0.3.0 06 Jul 2021
    Release notes

    Breaking changes:

    • Update structure of ErrorReport from ErrorReport { detail, trace } to ErrorReport(detail, trace) to allow simpler pattern matching.

    • Auto derive common traits such as Clone and Eq for ErrorReport.

    • Allow recursive error source using Self.

    Open source →
  7. 0.2.1 21 Jun 2021

    Nothing published for this version

  8. 0.2.0 08 Jun 2021
    Release notes

    Breaking changes:

    • Update define syntax from define_error!{ Error; ... } to define_error!{ Error { ... } }

    • Allow custom derive attributes in the form of define_error!{ #[derive(Debug, ...)] Error { ... } }.

    Open source →
  9. 0.1.2 07 Jun 2021

    Nothing published for this version

  10. 0.1.1 27 May 2021

    Nothing published for this version

  11. 0.1.0 25 May 2021
    Release notes
    • Initial draft release for flex-error.
    Open source →

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