mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-04-24 22:30:03 +00:00
Use io::Error::downcast in 1.79 (#1754)
* Bump msrv of binstalk-downloader, binstalk and cargo-binstall to 1.79 * Update From<io::Error> for DownloadError to use io::Error::downcast * Update From<io::Error> for BinstallError * fix dmt
This commit is contained in:
parent
dfa230f039
commit
34cca9f415
5 changed files with 7 additions and 31 deletions
|
@ -4,7 +4,7 @@ description = "The binstall toolkit (library interface)"
|
|||
repository = "https://github.com/cargo-bins/cargo-binstall"
|
||||
documentation = "https://docs.rs/binstalk"
|
||||
version = "0.24.0"
|
||||
rust-version = "1.65.0"
|
||||
rust-version = "1.79.0"
|
||||
authors = ["ryan <ryan@kurte.nz>"]
|
||||
edition = "2021"
|
||||
license = "GPL-3.0-only"
|
||||
|
|
|
@ -530,20 +530,8 @@ impl Termination for BinstallError {
|
|||
|
||||
impl From<io::Error> for BinstallError {
|
||||
fn from(err: io::Error) -> Self {
|
||||
if err.get_ref().is_some() {
|
||||
let kind = err.kind();
|
||||
|
||||
let inner = err
|
||||
.into_inner()
|
||||
.expect("err.get_ref() returns Some, so err.into_inner() should also return Some");
|
||||
|
||||
inner
|
||||
.downcast()
|
||||
.map(|b| *b)
|
||||
.unwrap_or_else(|err| BinstallError::Io(io::Error::new(kind, err)))
|
||||
} else {
|
||||
BinstallError::Io(err)
|
||||
}
|
||||
err.downcast::<BinstallError>()
|
||||
.unwrap_or_else(BinstallError::Io)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue