error-stack 0.6.0

A context-aware error-handling library that supports arbitrary attached user data
Documentation
error[E0277]: the trait bound `&str: IntoReport` is not satisfied
  --> tests/ui/macro_invalid_args.rs:19:21
   |
19 |     let _ = report!("Error");
   |             --------^^^^^^^-
   |             |       |
   |             |       the trait `std::error::Error` is not implemented for `str`
   |             required by a bound introduced by this call
   |
   = help: the trait `IntoReport` is implemented for `error_stack::Report<C>`
   = note: required for `&str` to implement `std::error::Error`
   = note: required for `&str` to implement `error_stack::Context`
   = note: required for `error_stack::Report<&str>` to implement `From<&str>`
   = note: required for `&str` to implement `Into<error_stack::Report<&str>>`
   = note: required for `&str` to implement `IntoReport`

error[E0277]: the trait bound `&str: Into<error_stack::Report<&str>>` is not satisfied
  --> tests/ui/macro_invalid_args.rs:19:13
   |
19 |     let _ = report!("Error");
   |             ^^^^^^^^^^^^^^^^ the trait `std::error::Error` is not implemented for `str`
   |
   = help: the trait `IntoReport` is implemented for `error_stack::Report<C>`
   = note: required for `&str` to implement `std::error::Error`
   = note: required for `&str` to implement `error_stack::Context`
   = note: required for `error_stack::Report<&str>` to implement `From<&str>`
   = note: required for `&str` to implement `Into<error_stack::Report<&str>>`
   = note: required for `&str` to implement `IntoReport`
   = note: this error originates in the macro `report` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `&str: IntoReport` is not satisfied
  --> tests/ui/macro_invalid_args.rs:25:11
   |
25 |     bail!("Error")
   |     ------^^^^^^^-
   |     |     |
   |     |     the trait `std::error::Error` is not implemented for `str`
   |     required by a bound introduced by this call
   |
   = help: the trait `IntoReport` is implemented for `error_stack::Report<C>`
   = note: required for `&str` to implement `std::error::Error`
   = note: required for `&str` to implement `error_stack::Context`
   = note: required for `error_stack::Report<&str>` to implement `From<&str>`
   = note: required for `&str` to implement `Into<error_stack::Report<&str>>`
   = note: required for `&str` to implement `IntoReport`

error[E0308]: mismatched types
 --> tests/ui/macro_invalid_args.rs:25:5
  |
 25 |     bail!("Error")
    |     ^^^^^^^^^^^^^^
    |     |
    |     expected `Report<RootError>`, found `Report<&str>`
    |     arguments to this enum variant are incorrect
    |
    = note: expected struct `error_stack::Report<RootError>`
               found struct `error_stack::Report<&str>`
help: the type constructed contains `error_stack::Report<&str>` due to the type of the argument passed
   --> tests/ui/macro_invalid_args.rs:25:5
    |
 25 |     bail!("Error")
    |     ^^^^^^^^^^^^^^ this argument influences the type of `Err`
note: tuple variant defined here
   --> $RUST/core/src/result.rs
    |
    |     Err(#[stable(feature = "rust1", since = "1.0.0")] E),
    |     ^^^
    = note: this error originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `&str: Into<error_stack::Report<&str>>` is not satisfied
  --> tests/ui/macro_invalid_args.rs:25:5
   |
25 |     bail!("Error")
   |     ^^^^^^^^^^^^^^ the trait `std::error::Error` is not implemented for `str`
   |
   = help: the trait `IntoReport` is implemented for `error_stack::Report<C>`
   = note: required for `&str` to implement `std::error::Error`
   = note: required for `&str` to implement `error_stack::Context`
   = note: required for `error_stack::Report<&str>` to implement `From<&str>`
   = note: required for `&str` to implement `Into<error_stack::Report<&str>>`
   = note: required for `&str` to implement `IntoReport`
   = note: this error originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `&str: IntoReport` is not satisfied
  --> tests/ui/macro_invalid_args.rs:29:27
   |
29 |     let _ = ensure!(true, "Error");
   |             --------------^^^^^^^-
   |             |             |
   |             |             the trait `std::error::Error` is not implemented for `str`
   |             required by a bound introduced by this call
   |
   = help: the trait `IntoReport` is implemented for `error_stack::Report<C>`
   = note: required for `&str` to implement `std::error::Error`
   = note: required for `&str` to implement `error_stack::Context`
   = note: required for `error_stack::Report<&str>` to implement `From<&str>`
   = note: required for `&str` to implement `Into<error_stack::Report<&str>>`
   = note: required for `&str` to implement `IntoReport`

error[E0308]: mismatched types
 --> tests/ui/macro_invalid_args.rs:29:13
  |
 29 |     let _ = ensure!(true, "Error");
    |             ^^^^^^^^^^^^^^^^^^^^^^
    |             |
    |             expected `Report<RootError>`, found `Report<&str>`
    |             arguments to this enum variant are incorrect
    |
    = note: expected struct `error_stack::Report<RootError>`
               found struct `error_stack::Report<&str>`
help: the type constructed contains `error_stack::Report<&str>` due to the type of the argument passed
   --> tests/ui/macro_invalid_args.rs:29:13
    |
 29 |     let _ = ensure!(true, "Error");
    |             ^^^^^^^^^^^^^^^^^^^^^^ this argument influences the type of `Err`
note: tuple variant defined here
   --> $RUST/core/src/result.rs
    |
    |     Err(#[stable(feature = "rust1", since = "1.0.0")] E),
    |     ^^^
    = note: this error originates in the macro `$crate::bail` which comes from the expansion of the macro `ensure` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `&str: Into<error_stack::Report<&str>>` is not satisfied
  --> tests/ui/macro_invalid_args.rs:29:13
   |
29 |     let _ = ensure!(true, "Error");
   |             ^^^^^^^^^^^^^^^^^^^^^^ the trait `std::error::Error` is not implemented for `str`
   |
   = help: the trait `IntoReport` is implemented for `error_stack::Report<C>`
   = note: required for `&str` to implement `std::error::Error`
   = note: required for `&str` to implement `error_stack::Context`
   = note: required for `error_stack::Report<&str>` to implement `From<&str>`
   = note: required for `&str` to implement `Into<error_stack::Report<&str>>`
   = note: required for `&str` to implement `IntoReport`
   = note: this error originates in the macro `$crate::bail` which comes from the expansion of the macro `ensure` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
 --> tests/ui/macro_invalid_args.rs:35:21
  |
 35 |     let _ = ensure!("No boolean", RootError);
    |             --------^^^^^^^^^^^^------------
    |             |       |
    |             |       expected `bool`, found `&str`
    |             arguments to this function are incorrect
    |
note: associated function defined here
   --> $RUST/core/src/convert/mod.rs
    |
    |     fn from(value: T) -> Self;
    |        ^^^^