harryfei / which-rs

A Rust equivalent of Unix command "which".

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

commented

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.

commented

Released a new version of which crate (v3.1.1) which depends on failure v0.1.7.

commented

@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 😄.

commented

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 :)

commented

@waynr Oh, I'm not aware that the community is moving to Anyhow or thiserror. PR is appreciated.