Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate from the failure crate to anyhow #7776

Merged
merged 2 commits into from
Jan 8, 2020
Merged

Conversation

alexcrichton
Copy link
Member

The anyhow crate interoperates with the std::error::Error trait
rather than a custom Fail trait, and this is the general trend of
error handling in Rust as well.

Note that this is mostly mechanical (sed) and intended to get the test
suite passing. As usual there's still more idiomatic cleanup that can
happen, but that's left to later commits.

The `anyhow` crate interoperates with the `std::error::Error` trait
rather than a custom `Fail` trait, and this is the general trend of
error handling in Rust as well.

Note that this is mostly mechanical (sed) and intended to get the test
suite passing. As usual there's still more idiomatic cleanup that can
happen, but that's left to later commits.
@rust-highfive
Copy link

r? @Eh2406

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 8, 2020
@alexcrichton
Copy link
Member Author

r? @ehuss

@rust-highfive rust-highfive assigned ehuss and unassigned Eh2406 Jan 8, 2020
@ehuss
Copy link
Contributor

ehuss commented Jan 8, 2020

Nice!

I think the only concern I had was the weird numeric error in new_warning_with_corrupt_ws, but since I think that only appears in that one message, it's probably ok.

@bors r+

@bors
Copy link
Contributor

bors commented Jan 8, 2020

📌 Commit d0430dd has been approved by ehuss

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 8, 2020
@bors
Copy link
Contributor

bors commented Jan 8, 2020

⌛ Testing commit d0430dd with merge bb3f2c5...

bors added a commit that referenced this pull request Jan 8, 2020
Migrate from the `failure` crate to `anyhow`

The `anyhow` crate interoperates with the `std::error::Error` trait
rather than a custom `Fail` trait, and this is the general trend of
error handling in Rust as well.

Note that this is mostly mechanical (sed) and intended to get the test
suite passing. As usual there's still more idiomatic cleanup that can
happen, but that's left to later commits.
@alexcrichton
Copy link
Member Author

Ah yeah so to clarify that's due to the changes here where I wanted to remove display_causes since that's been a thorn for quite some time now and I figured as a one-off difference from rendering it's probably not so bad.

@ehuss ehuss mentioned this pull request Jan 8, 2020
@bors
Copy link
Contributor

bors commented Jan 8, 2020

☀️ Test successful - checks-azure
Approved by: ehuss
Pushing bb3f2c5 to master...

@bors bors merged commit d0430dd into rust-lang:master Jan 8, 2020
@bors bors deleted the anyhow branch January 8, 2020 18:26
bors added a commit that referenced this pull request Jan 8, 2020
bors added a commit to rust-lang/rust that referenced this pull request Jan 14, 2020
Update cargo rls

## cargo

12 commits in 6e1ca924a67dd1ac89c33f294ef26b5c43b89168..ad3dbe10e1e654fb1f032a5dd9481d7cbaa00d65
2020-01-06 19:11:37 +0000 to 2020-01-13 21:37:15 +0000
- Add named config profiles. (rust-lang/cargo#7750)
- Make cargo-rustc crate-type-aware (rust-lang/cargo#7755)
- Rename `Kind` (rust-lang/cargo#7791)
- Update bash completion (rust-lang/cargo#7789)
- Add another curl spurious network error (rust-lang/cargo#7788)
- Some small tweaks around error in configuration (rust-lang/cargo#7783)
- Fix tests with `url` crate update (rust-lang/cargo#7787)
- Fix .gitignore of Cargo.lock in a subdirectory. (rust-lang/cargo#7779)
- Bump crates-io (rust-lang/cargo#7778)
- Migrate from the `failure` crate to `anyhow` (rust-lang/cargo#7776)
- Fix several needless_borrow clippy lints. (rust-lang/cargo#7771)
- Fix some links (rust-lang/cargo#7770)

## rls

2 commits in 7c0489c5ff4f5c594e65a3b22efd9ce373deab9b..b27e1173969639448cd2e486b1c5f0fcb1b3b17c
2020-01-04 20:15:37 +0100 to 2020-01-13 11:40:20 +0100
- Update Cargo (rust-lang/rls#1613)
- Rustup to #68024 (rust-lang/rls#1612)
bors added a commit to rust-lang/rust that referenced this pull request Jan 15, 2020
Update cargo rls

## cargo

12 commits in 6e1ca924a67dd1ac89c33f294ef26b5c43b89168..ad3dbe10e1e654fb1f032a5dd9481d7cbaa00d65
2020-01-06 19:11:37 +0000 to 2020-01-13 21:37:15 +0000
- Add named config profiles. (rust-lang/cargo#7750)
- Make cargo-rustc crate-type-aware (rust-lang/cargo#7755)
- Rename `Kind` (rust-lang/cargo#7791)
- Update bash completion (rust-lang/cargo#7789)
- Add another curl spurious network error (rust-lang/cargo#7788)
- Some small tweaks around error in configuration (rust-lang/cargo#7783)
- Fix tests with `url` crate update (rust-lang/cargo#7787)
- Fix .gitignore of Cargo.lock in a subdirectory. (rust-lang/cargo#7779)
- Bump crates-io (rust-lang/cargo#7778)
- Migrate from the `failure` crate to `anyhow` (rust-lang/cargo#7776)
- Fix several needless_borrow clippy lints. (rust-lang/cargo#7771)
- Fix some links (rust-lang/cargo#7770)

## rls

2 commits in 7c0489c5ff4f5c594e65a3b22efd9ce373deab9b..b27e1173969639448cd2e486b1c5f0fcb1b3b17c
2020-01-04 20:15:37 +0100 to 2020-01-13 11:40:20 +0100
- Update Cargo (rust-lang/rls#1613)
- Rustup to #68024 (rust-lang/rls#1612)
ebkalderon pushed a commit to cargo2nix/cargo2nix that referenced this pull request Feb 26, 2020
This matches the upstream convention used by Cargo with its
`CargoResult` type aliasing `failure::Error`. In later versions of
Cargo, `failure` has been replaced by `anyhow` (rust-lang/cargo#7776),
but this should suffice for the time being while we still depend on this
Cargo version.

The pattern of `try_main()` seen here is a common pattern seen in other
CLI tools such as `ripgrep`. Having `main()` return a `Result` isn't
useful here because it only shows the `Debug` output and not `Display`,
which typically results in a very poor experince for the end-user.
@ehuss ehuss added this to the 1.42.0 milestone Feb 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants