Remove failure entirely
nagisa opened this issue · comments
As of 1 hour ago, failure is now broken entirely because it was relying on implementation details of quote
and quote decided to not tolerate it in dtolnay/quote@4154389.
Please remove use of failure entirely.
The failure
integration is optional now. You can disable it by adding those lines in your Cargo.toml
[dependencies.which]
version = "3.0.1"
default-features = false
Does it work in your case?
It looks like a new version of failure (0.1.7) was just published in the last couple hours that no longer depends on private internals of quote.
@harryfei I’m not the direct user of this library so, no, it does not work.
Released a new version of which
crate (v3.1.1) which depends on failure
v0.1.7.
@harryfei I'm curious why you would resist removing failure
entirely given that its repo mentions that it is deprecated. The obvious problem is that it produces a quasi error type that is incompatible with std::error::Error
; what might not be obvious to everyone though is that there is a great alternative to the conveniences provided by failure
:
- Anyhow is a good replacement for
failure::Error
. - thiserror is a good, near drop-in replacement for
#[derive(Fail)]
.
I have a bit of experience refactoring failure
into thisserror
so if you're open to it I could submit a PR to bring this library in line with the direction of the Rust ecosystem overall. Otherwise I'll just keep my facts to myself and try to figure out how one disables a dependency's feature 😄.
try to figure out how one disables a dependency's feature
Oh I see your earlier comment now that explains how to disable it, nevermind :)