mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 00:03:43 +00:00
5075c77957
This builds on #2231 but was actually done before that. You see, the cause for #2231 was that I got this error message: Error: Error { kind: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" }) } Just switching to `anyhow::Result` got me stack traces (when setting `RUST_LIB_BACKTRACE=1`) that at least showed stack backtrace: 0: std::backtrace::Backtrace::create 1: std::backtrace::Backtrace::capture 2: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from 3: xtask::install_server 4: xtask::install 5: xtask::main 6: std::rt::lang_start::{{closure}} 7: std::panicking::try::do_call 8: __rust_maybe_catch_panic 9: std::rt::lang_start_internal 10: std::rt::lang_start 11: main With the added contexts (not at all exhaustive), the error became Error: install server Caused by: 0: build AutoCfg with target directory 1: No such file or directory (os error 2) Since anyhow is such a small thing (no new transitive dependencies!), and in general gives you `Result<T, Box<dyn Error>>` on steroids, I think this a nice small change. The only slightly annoying thing was to replace all the `Err(format!(…))?` calls (haven't even looked at whether we can make it support wrapping strings though), but the `bail!` macro is shorter anyway :)
17 lines
308 B
TOML
17 lines
308 B
TOML
[package]
|
|
edition = "2018"
|
|
name = "xtask"
|
|
version = "0.1.0"
|
|
authors = ["rust-analyzer developers"]
|
|
publish = false
|
|
|
|
[dependencies]
|
|
autocfg = "0.1"
|
|
walkdir = "2.1.3"
|
|
pico-args = "0.3.0"
|
|
quote = "1.0.2"
|
|
proc-macro2 = "1.0.1"
|
|
ron = "0.5.1"
|
|
serde = { version = "1.0.0", features = ["derive"] }
|
|
anyhow = "1.0.19"
|