bigerror-error-stack 0.6.0-alpha

A context-aware error-handling library that supports arbitrary attached user data
error: unexpected end of macro invocation
  --> tests/ui/macro_invalid_args.rs:25:13
   |
25 |     let _ = report!();
   |             ^^^^^^^^^ missing tokens in macro arguments
   |
note: while trying to match meta-variable `$err:expr`
  --> src/macros.rs
   |
   |     ($err:expr $(,)?) => {{ $crate::IntoReport::into_report($err) }};
   |      ^^^^^^^^^

error: unexpected end of macro invocation
  --> tests/ui/macro_invalid_args.rs:35:5
   |
35 |     bail!()
   |     ^^^^^^^ missing tokens in macro arguments
   |
note: while trying to match meta-variable `$err:expr`
  --> src/macros.rs
   |
   |     ($err:expr) => {{
   |      ^^^^^^^^^

error: unexpected end of macro invocation
  --> tests/ui/macro_invalid_args.rs:51:25
   |
51 |     let _ = ensure!(true);
   |                         ^ missing tokens in macro arguments
   |
note: while trying to match `,`
  --> src/macros.rs
   |
   |     ($cond:expr, $err:expr $(,)?) => {{
   |                ^

error: unexpected end of macro invocation
  --> tests/ui/macro_invalid_args.rs:57:13
   |
57 |     let _ = ensure!();
   |             ^^^^^^^^^ missing tokens in macro arguments
   |
note: while trying to match meta-variable `$cond:expr`
  --> src/macros.rs
   |
   |     ($cond:expr, $err:expr $(,)?) => {{
   |      ^^^^^^^^^^

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:31:11
   |
31 |     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:31:5
   |
31 |     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:31:5
   |
31 |     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:31:5
   |
31 |     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:39:27
   |
39 |     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:39:13
   |
39 |     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:39:13
   |
39 |     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:39:13
   |
39 |     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:45:21
   |
45 |     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;
   |        ^^^^