diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-08-10 16:52:19 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-08-10 16:52:19 +0800 |
| commit | 02e07a18fcb3af9319c271f6e41d5b7785e2e436 (patch) | |
| tree | ff76916c254e87a7aadc5cb4dfd2134eaf4f03fc /arg_picker/src/builtin | |
| parent | 03b487f0f93ac32835149d4c1a0fb420341134f8 (diff) | |
style: satisfy clippy pedantic and nursery lints
Diffstat (limited to 'arg_picker/src/builtin')
| -rw-r--r-- | arg_picker/src/builtin/pick_flag.rs | 4 | ||||
| -rw-r--r-- | arg_picker/src/builtin/pick_ip_attr.rs | 39 | ||||
| -rw-r--r-- | arg_picker/src/builtin/pick_numbers.rs | 9 | ||||
| -rw-r--r-- | arg_picker/src/builtin/pick_pathbuf.rs | 10 | ||||
| -rw-r--r-- | arg_picker/src/builtin/pick_paths.rs | 22 | ||||
| -rw-r--r-- | arg_picker/src/builtin/pick_picker_args.rs | 2 | ||||
| -rw-r--r-- | arg_picker/src/builtin/pick_socket_attr.rs | 39 | ||||
| -rw-r--r-- | arg_picker/src/builtin/pick_string.rs | 5 |
8 files changed, 57 insertions, 73 deletions
diff --git a/arg_picker/src/builtin/pick_flag.rs b/arg_picker/src/builtin/pick_flag.rs index b642a9a..8afc0fc 100644 --- a/arg_picker/src/builtin/pick_flag.rs +++ b/arg_picker/src/builtin/pick_flag.rs @@ -13,9 +13,9 @@ impl<'a> Pickable<'a> for Flag { fn pick(raw_strs: &[&str]) -> PickerArgResult<Self> { if raw_strs.is_empty() { - PickerArgResult::Parsed(Flag::Inactive) + PickerArgResult::Parsed(Self::Inactive) } else { - PickerArgResult::Parsed(Flag::Active) + PickerArgResult::Parsed(Self::Active) } } } diff --git a/arg_picker/src/builtin/pick_ip_attr.rs b/arg_picker/src/builtin/pick_ip_attr.rs index d68fa15..57ac80e 100644 --- a/arg_picker/src/builtin/pick_ip_attr.rs +++ b/arg_picker/src/builtin/pick_ip_attr.rs @@ -4,36 +4,33 @@ use crate::SinglePickable; impl SinglePickable for IpAddr { fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> { - match str { - Some(s) => match s.parse::<IpAddr>() { - Ok(addr) => crate::PickerArgResult::Parsed(addr), - Err(_) => crate::PickerArgResult::NotFound, - }, - None => crate::PickerArgResult::NotFound, - } + str.map_or(crate::PickerArgResult::NotFound, |s| { + s.parse::<Self>() + .map_or(crate::PickerArgResult::NotFound, |addr| { + crate::PickerArgResult::Parsed(addr) + }) + }) } } impl SinglePickable for Ipv4Addr { fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> { - match str { - Some(s) => match s.parse::<Ipv4Addr>() { - Ok(addr) => crate::PickerArgResult::Parsed(addr), - Err(_) => crate::PickerArgResult::NotFound, - }, - None => crate::PickerArgResult::NotFound, - } + str.map_or(crate::PickerArgResult::NotFound, |s| { + s.parse::<Self>() + .map_or(crate::PickerArgResult::NotFound, |addr| { + crate::PickerArgResult::Parsed(addr) + }) + }) } } impl SinglePickable for Ipv6Addr { fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> { - match str { - Some(s) => match s.parse::<Ipv6Addr>() { - Ok(addr) => crate::PickerArgResult::Parsed(addr), - Err(_) => crate::PickerArgResult::NotFound, - }, - None => crate::PickerArgResult::NotFound, - } + str.map_or(crate::PickerArgResult::NotFound, |s| { + s.parse::<Self>() + .map_or(crate::PickerArgResult::NotFound, |addr| { + crate::PickerArgResult::Parsed(addr) + }) + }) } } diff --git a/arg_picker/src/builtin/pick_numbers.rs b/arg_picker/src/builtin/pick_numbers.rs index a5ab0a9..6cbd4fc 100644 --- a/arg_picker/src/builtin/pick_numbers.rs +++ b/arg_picker/src/builtin/pick_numbers.rs @@ -21,10 +21,7 @@ fn is_int_like(raw: &str) -> bool { if bytes.is_empty() { return false; } - let mut i = 0; - if bytes[0] == b'-' || bytes[0] == b'+' { - i = 1; - } + let i = usize::from(bytes[0] == b'-' || bytes[0] == b'+'); if i >= bytes.len() { return false; } @@ -69,12 +66,12 @@ impl_boundary_check_int! { // Integer-like strings trigger a boundary. impl BoundaryCheck for f32 { fn check_boundary(raw: &str) -> bool { - !is_float_like(raw) || raw.parse::<f32>().is_err() + !is_float_like(raw) || raw.parse::<Self>().is_err() } } impl BoundaryCheck for f64 { fn check_boundary(raw: &str) -> bool { - !is_float_like(raw) || raw.parse::<f64>().is_err() + !is_float_like(raw) || raw.parse::<Self>().is_err() } } diff --git a/arg_picker/src/builtin/pick_pathbuf.rs b/arg_picker/src/builtin/pick_pathbuf.rs index 3bd4410..2b48e3d 100644 --- a/arg_picker/src/builtin/pick_pathbuf.rs +++ b/arg_picker/src/builtin/pick_pathbuf.rs @@ -7,12 +7,8 @@ use crate::{ impl SinglePickable for PathBuf { fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> { - match str { - Some(str) => match just_fmt::fmt_path_str(str) { - Ok(formated) => Parsed(PathBuf::from(formated)), - Err(_) => NotFound, - }, - None => NotFound, - } + str.map_or(NotFound, |str| { + just_fmt::fmt_path_str(str).map_or(NotFound, |formated| Parsed(Self::from(formated))) + }) } } diff --git a/arg_picker/src/builtin/pick_paths.rs b/arg_picker/src/builtin/pick_paths.rs index 8e6c0fd..954464b 100644 --- a/arg_picker/src/builtin/pick_paths.rs +++ b/arg_picker/src/builtin/pick_paths.rs @@ -17,7 +17,7 @@ impl SinglePickable for FilePath { match <PathBuf as SinglePickable>::pick_single(str) { Parsed(path) => { if path.exists() && path.is_file() { - Parsed(FilePath::from(path)) + Parsed(Self::from(path)) } else { NotFound } @@ -33,7 +33,7 @@ impl SinglePickable for NoFilePath { match <PathBuf as SinglePickable>::pick_single(str) { Parsed(path) => { if !path.exists() || !path.is_file() { - Parsed(NoFilePath::from(path)) + Parsed(Self::from(path)) } else { NotFound } @@ -49,7 +49,7 @@ impl SinglePickable for DirPath { match <PathBuf as SinglePickable>::pick_single(str) { Parsed(path) => { if path.exists() && path.is_dir() { - Parsed(DirPath::from(path)) + Parsed(Self::from(path)) } else { NotFound } @@ -65,7 +65,7 @@ impl SinglePickable for NoDirPath { match <PathBuf as SinglePickable>::pick_single(str) { Parsed(path) => { if !path.exists() || !path.is_dir() { - Parsed(NoDirPath::from(path)) + Parsed(Self::from(path)) } else { NotFound } @@ -81,7 +81,7 @@ impl SinglePickable for SymlinkPath { match <PathBuf as SinglePickable>::pick_single(str) { Parsed(path) => { if path.exists() && path.is_symlink() { - Parsed(SymlinkPath::from(path)) + Parsed(Self::from(path)) } else { NotFound } @@ -97,7 +97,7 @@ impl SinglePickable for NoSymlinkPath { match <PathBuf as SinglePickable>::pick_single(str) { Parsed(path) => { if !path.exists() || !path.is_symlink() { - Parsed(NoSymlinkPath::from(path)) + Parsed(Self::from(path)) } else { NotFound } @@ -112,10 +112,10 @@ impl SinglePickable for NoPath { fn pick_single(str: Option<&str>) -> PickerArgResult<Self> { match <PathBuf as SinglePickable>::pick_single(str) { Parsed(path) => { - if !path.exists() { - Parsed(NoPath::from(path)) - } else { + if path.exists() { NotFound + } else { + Parsed(Self::from(path)) } } Unparsed => Unparsed, @@ -132,7 +132,7 @@ impl SinglePickable for RecursiveFiles { return NotFound; } if path.is_file() || path.is_symlink() { - return Parsed(RecursiveFiles::from(vec![path])); + return Parsed(Self::from(vec![path])); } let mut entries = Vec::new(); if let Ok(dir_entries) = fs::read_dir(&path) { @@ -145,7 +145,7 @@ impl SinglePickable for RecursiveFiles { } } } - Parsed(RecursiveFiles::from(entries)) + Parsed(Self::from(entries)) } Unparsed => Unparsed, NotFound => NotFound, diff --git a/arg_picker/src/builtin/pick_picker_args.rs b/arg_picker/src/builtin/pick_picker_args.rs index 419cbc8..618960f 100644 --- a/arg_picker/src/builtin/pick_picker_args.rs +++ b/arg_picker/src/builtin/pick_picker_args.rs @@ -15,7 +15,7 @@ impl<'a> Pickable<'a> for PickerArgs<'a> { } fn pick(raw_strs: &[&str]) -> PickerArgResult<Self> { - let remains: Vec<String> = raw_strs.iter().map(|s| s.to_string()).collect(); + let remains: Vec<String> = raw_strs.iter().map(ToString::to_string).collect(); Parsed(PickerArgs::Owned(remains)) } } diff --git a/arg_picker/src/builtin/pick_socket_attr.rs b/arg_picker/src/builtin/pick_socket_attr.rs index 0c0dd71..ba9a410 100644 --- a/arg_picker/src/builtin/pick_socket_attr.rs +++ b/arg_picker/src/builtin/pick_socket_attr.rs @@ -4,36 +4,33 @@ use crate::SinglePickable; impl SinglePickable for SocketAddr { fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> { - match str { - Some(s) => match s.parse::<SocketAddr>() { - Ok(addr) => crate::PickerArgResult::Parsed(addr), - Err(_) => crate::PickerArgResult::NotFound, - }, - None => crate::PickerArgResult::NotFound, - } + str.map_or(crate::PickerArgResult::NotFound, |s| { + s.parse::<Self>() + .map_or(crate::PickerArgResult::NotFound, |addr| { + crate::PickerArgResult::Parsed(addr) + }) + }) } } impl SinglePickable for SocketAddrV4 { fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> { - match str { - Some(s) => match s.parse::<SocketAddrV4>() { - Ok(addr) => crate::PickerArgResult::Parsed(addr), - Err(_) => crate::PickerArgResult::NotFound, - }, - None => crate::PickerArgResult::NotFound, - } + str.map_or(crate::PickerArgResult::NotFound, |s| { + s.parse::<Self>() + .map_or(crate::PickerArgResult::NotFound, |addr| { + crate::PickerArgResult::Parsed(addr) + }) + }) } } impl SinglePickable for SocketAddrV6 { fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> { - match str { - Some(s) => match s.parse::<SocketAddrV6>() { - Ok(addr) => crate::PickerArgResult::Parsed(addr), - Err(_) => crate::PickerArgResult::NotFound, - }, - None => crate::PickerArgResult::NotFound, - } + str.map_or(crate::PickerArgResult::NotFound, |s| { + s.parse::<Self>() + .map_or(crate::PickerArgResult::NotFound, |addr| { + crate::PickerArgResult::Parsed(addr) + }) + }) } } diff --git a/arg_picker/src/builtin/pick_string.rs b/arg_picker/src/builtin/pick_string.rs index c96f667..c7bdd4a 100644 --- a/arg_picker/src/builtin/pick_string.rs +++ b/arg_picker/src/builtin/pick_string.rs @@ -3,9 +3,6 @@ use crate::{SinglePickable, pickable_needed::*}; impl SinglePickable for String { fn pick_single(str: Option<&str>) -> PickerArgResult<Self> { - match str { - Some(str) => PickerArgResult::Parsed(str.to_string()), - None => NotFound, - } + str.map_or(NotFound, |str| PickerArgResult::Parsed(str.to_string())) } } |
