mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-05-03 02:30:02 +00:00
Optimize BinstallError
: Reduce size from 40B to 32B (#581)
* Optimize `BinstallError::CratesIoApi`: Extract new type `errors::CratesIoApiError` and box it Also improve `<CratesIoApiError as Display>::fmt` impl. * Optimize `BinstallError::SubProcess`: Use `Box<str>` instead of `String` * Optimize `BinstallError::CargoManifest`: Box `CargoTomlError` * Optimize `BinstallError::VersionParse`: Extract `VersionParseError` and box it Also improve `<VersionParseError as Display>::fmt` impl. * Optimize `BinstallError::CrateContext`: Extract `CrateContextError` and box it in * Optimize `install_from_source`: Only format `cmd` on err Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
parent
ab3e47c42b
commit
8a5577297e
4 changed files with 58 additions and 40 deletions
|
@ -18,7 +18,7 @@ use super::Options;
|
|||
use crate::{
|
||||
bins,
|
||||
drivers::fetch_crate_cratesio,
|
||||
errors::BinstallError,
|
||||
errors::{BinstallError, VersionParseError},
|
||||
fetchers::{Data, Fetcher, TargetData},
|
||||
helpers::remote::Client,
|
||||
manifests::cargo_toml_binstall::{Meta, PkgMeta, PkgOverride},
|
||||
|
@ -409,10 +409,11 @@ impl PackageInfo {
|
|||
let new_version = match Version::parse(&new_version_str) {
|
||||
Ok(new_version) => new_version,
|
||||
Err(err) => {
|
||||
return Err(BinstallError::VersionParse {
|
||||
return Err(Box::new(VersionParseError {
|
||||
v: new_version_str,
|
||||
err,
|
||||
})
|
||||
.into())
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue