mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-04-24 22:30:03 +00:00
Fix clippy
warnings and add new workflow clippy (#306)
* Derive `Eq` for `PkgFmt`, `PkgFmtDecomposed` & `TarBasedFmt` * Derive `Eq` for `PkgMeta`, `PkgOverride` & `BinMeta` * Rm unnecessary reborrow in `install_from_source` * Rm unnecessary `into()` in `args::parse` * Fix `clippy` warning in `CratesToml::append_to_path` * Fix clippy warning in `cratesio_url` * Fix clippy warning in `detect_targets_linux` * Add `clippy` and `rustfmt` to workflow `unit-test` Because `clippy` would not check inactive code disabled by `cfg`, so we have to also run `clippy` on multiple targets. Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
parent
4812456357
commit
1102284684
8 changed files with 19 additions and 14 deletions
|
@ -244,7 +244,7 @@ pub fn parse() -> Result<Args, BinstallError> {
|
|||
};
|
||||
|
||||
if !option.is_empty() {
|
||||
return Err(BinstallError::OverrideOptionUsedWithMultiInstall { option }.into());
|
||||
return Err(BinstallError::OverrideOptionUsedWithMultiInstall { option });
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -19,5 +19,5 @@ pub fn cratesio_url() -> &'static Url {
|
|||
static CRATESIO: Lazy<Url, fn() -> Url> =
|
||||
Lazy::new(|| Url::parse("https://github.com/rust-lang/crates.io-index").unwrap());
|
||||
|
||||
&*CRATESIO
|
||||
&CRATESIO
|
||||
}
|
||||
|
|
|
@ -99,7 +99,7 @@ impl CratesToml {
|
|||
}
|
||||
|
||||
file.rewind()?;
|
||||
c1.write_to_file(&mut *file)?;
|
||||
c1.write_to_file(&mut file)?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ pub struct Meta {
|
|||
/// Metadata for binary installation use.
|
||||
///
|
||||
/// Exposed via `[package.metadata]` in `Cargo.toml`
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "kebab-case", default)]
|
||||
pub struct PkgMeta {
|
||||
/// URL template for package downloads
|
||||
|
@ -79,7 +79,7 @@ impl PkgMeta {
|
|||
/// Target specific overrides for binary installation
|
||||
///
|
||||
/// Exposed via `[package.metadata.TARGET]` in `Cargo.toml`
|
||||
#[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)]
|
||||
#[derive(Clone, Debug, Default, Eq, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "kebab-case", default)]
|
||||
pub struct PkgOverride {
|
||||
/// URL template override for package downloads
|
||||
|
@ -92,7 +92,7 @@ pub struct PkgOverride {
|
|||
pub bin_dir: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
pub struct BinMeta {
|
||||
/// Binary name
|
||||
|
|
|
@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
|
|||
use strum_macros::{Display, EnumString};
|
||||
|
||||
/// Binary format enumeration
|
||||
#[derive(Debug, Copy, Clone, PartialEq, Serialize, Deserialize, EnumString)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Serialize, Deserialize, EnumString)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum PkgFmt {
|
||||
/// Download format is TAR (uncompressed)
|
||||
|
@ -55,14 +55,14 @@ impl PkgFmt {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Copy, Clone, PartialEq)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
|
||||
pub enum PkgFmtDecomposed {
|
||||
Tar(TarBasedFmt),
|
||||
Bin,
|
||||
Zip,
|
||||
}
|
||||
|
||||
#[derive(Debug, Display, Copy, Clone, PartialEq)]
|
||||
#[derive(Debug, Display, Copy, Clone, Eq, PartialEq)]
|
||||
pub enum TarBasedFmt {
|
||||
/// Download format is TAR (uncompressed)
|
||||
Tar,
|
||||
|
|
|
@ -161,7 +161,7 @@ async fn install_from_source(
|
|||
.arg("--version")
|
||||
.arg(package.version)
|
||||
.arg("--target")
|
||||
.arg(&*target);
|
||||
.arg(target);
|
||||
|
||||
if quiet {
|
||||
cmd.arg("--quiet");
|
||||
|
|
|
@ -136,12 +136,11 @@ mod linux {
|
|||
pub(super) async fn detect_targets_linux() -> Vec<String> {
|
||||
let (abi, libc) = parse_abi_and_libc();
|
||||
|
||||
match libc {
|
||||
if let Libc::Glibc = libc {
|
||||
// Glibc can only be dynamically linked.
|
||||
// If we can run this binary, then it means that the target
|
||||
// supports both glibc and musl.
|
||||
Libc::Glibc => return create_targets_str(&["gnu", "musl"], abi),
|
||||
_ => (),
|
||||
return create_targets_str(&["gnu", "musl"], abi);
|
||||
}
|
||||
|
||||
if let Ok(Output {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue