Open sassman opened 1 year ago
In a strange constellation I'm running into the following error:
error[E0308]: mismatched types --> /Users/I563162/.cargo/registry/src/github.com-1ecc6299db9ec823/http-types-2.12.0/src/error.rs:114:18 | 114 | Some(backtrace) | ---- ^^^^^^^^^ expected `&Backtrace`, found enum `std::option::Option` | | | arguments to this enum variant are incorrect | = note: expected reference `&Backtrace` found enum `std::option::Option<&Backtrace>`
looking at the code:
https://github.com/http-rs/http-types/blob/6f38b3ea86602a8fa907c135373ff94400e11cd4/src/error.rs#L111-L118
I see no change in over 2 years. Also on the anyhow crate (self.error is of type anyhow::Error) I cannot see any change on the backtrace() method.
anyhow
self.error
anyhow::Error
backtrace()
However a fix like this would solve the problem:
- let backtrace = self.error.backtrace(); + let backtrace = self.error.backtrace()?;
http-types
http-types v2.12.0 ├── async-h1 v2.3.3 │ └── tide v0.16.0
2.12.0
1.0.65
cargo --version && rustc --version cargo 1.63.0-nightly (38472bc19 2022-05-31) rustc 1.63.0-nightly (5435ed691 2022-06-07)
it turns out that versions of anyhow < 1.0.39 don't have that problem, because there the return type is &Backtrace. Newer versions wrap this with Option<>.
&Backtrace
Option<>
In a strange constellation I'm running into the following error:
looking at the code:
https://github.com/http-rs/http-types/blob/6f38b3ea86602a8fa907c135373ff94400e11cd4/src/error.rs#L111-L118
I see no change in over 2 years. Also on the
anyhow
crate (self.error
is of typeanyhow::Error
) I cannot see any change on thebacktrace()
method.However a fix like this would solve the problem:
Things I've used:
http-types
:http-types
version2.12.0
anyhow
version1.0.65