mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-05-01 17:50:03 +00:00
Refactor and Optimizations (#459)
* Refactor: Avoid parsing `package.version()` twice in `ops::resolve` and `ops::install` * Optimize Resolution: Replace `Package<Meta>` with two `CompactStrings`: `name` and `version` * Use `CompactString` for `BinstallError::CratesIoApi::crate_name` * Use `CompactString` for `BinstallError::VersionParse::v` * Use `CompactString` for `BinstallError::VersionReq::req` * Use `CompactString` for `BinstallError::VersionUnavailable::crate_name` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
parent
70b0f8ec97
commit
3421403e75
3 changed files with 38 additions and 42 deletions
|
@ -114,7 +114,7 @@ pub enum BinstallError {
|
|||
help("Check that the crate name you provided is correct.\nYou can also search for a matching crate at: https://lib.rs/search?q={crate_name}")
|
||||
)]
|
||||
CratesIoApi {
|
||||
crate_name: String,
|
||||
crate_name: CompactString,
|
||||
#[source]
|
||||
err: crates_io_api::Error,
|
||||
},
|
||||
|
@ -153,7 +153,7 @@ pub enum BinstallError {
|
|||
#[error("version string '{v}' is not semver")]
|
||||
#[diagnostic(severity(error), code(binstall::version::parse))]
|
||||
VersionParse {
|
||||
v: String,
|
||||
v: CompactString,
|
||||
#[source]
|
||||
err: semver::Error,
|
||||
},
|
||||
|
@ -170,7 +170,7 @@ pub enum BinstallError {
|
|||
#[error("version requirement '{req}' is not semver")]
|
||||
#[diagnostic(severity(error), code(binstall::version::requirement))]
|
||||
VersionReq {
|
||||
req: String,
|
||||
req: CompactString,
|
||||
#[source]
|
||||
err: semver::Error,
|
||||
},
|
||||
|
@ -194,7 +194,7 @@ pub enum BinstallError {
|
|||
#[error("no crate information available for '{crate_name}' version '{v}'")]
|
||||
#[diagnostic(severity(error), code(binstall::version::unavailable))]
|
||||
VersionUnavailable {
|
||||
crate_name: String,
|
||||
crate_name: CompactString,
|
||||
v: semver::Version,
|
||||
},
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue