From f464879b124c82d221b380764dd4a9f83ef3e019 Mon Sep 17 00:00:00 2001 From: Hanif Bin Ariffin Date: Sun, 19 Sep 2021 23:15:28 +0800 Subject: [PATCH 1/3] Reduce MSRV to 1.47.0 Signed-off-by: Hanif Bin Ariffin --- src/uu/tr/src/convert.rs | 2 +- src/uu/tr/src/operation.rs | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/uu/tr/src/convert.rs b/src/uu/tr/src/convert.rs index 27f31491f..44ee67ad1 100644 --- a/src/uu/tr/src/convert.rs +++ b/src/uu/tr/src/convert.rs @@ -15,7 +15,7 @@ fn parse_octal(input: &str) -> IResult<&str, char> { preceded(tag("\\"), recognize(many_m_n(1, 3, one_of("01234567")))), |out: &str| { u32::from_str_radix(out, 8) - .map(char::from_u32) + .map(std::char::from_u32) .ok() .flatten() }, diff --git a/src/uu/tr/src/operation.rs b/src/uu/tr/src/operation.rs index 1f17809ec..e22bc4276 100644 --- a/src/uu/tr/src/operation.rs +++ b/src/uu/tr/src/operation.rs @@ -76,7 +76,7 @@ impl Sequence { pub fn flatten(&self) -> Box> { match self { Sequence::Char(c) => Box::new(std::iter::once(*c)), - Sequence::CharRange(l, r) => Box::new((*l..=*r).flat_map(char::from_u32)), + Sequence::CharRange(l, r) => Box::new((*l..=*r).flat_map(std::char::from_u32)), Sequence::CharStar(c) => Box::new(std::iter::repeat(*c)), Sequence::CharRepeat(c, n) => Box::new(std::iter::repeat(*c).take(*n)), Sequence::Alnum => Box::new(('0'..='9').chain('A'..='Z').chain('a'..='z')), @@ -85,7 +85,7 @@ impl Sequence { Sequence::Control => Box::new( (0..=31) .chain(std::iter::once(127)) - .flat_map(char::from_u32), + .flat_map(std::char::from_u32), ), Sequence::Digit => Box::new('0'..='9'), Sequence::Graph => Box::new( @@ -98,7 +98,7 @@ impl Sequence { .chain(91..=96) .chain(123..=126) .chain(std::iter::once(32)) // space - .flat_map(char::from_u32), + .flat_map(std::char::from_u32), ), Sequence::Lower => Box::new('a'..='z'), Sequence::Print => Box::new( @@ -110,14 +110,14 @@ impl Sequence { .chain(58..=64) .chain(91..=96) .chain(123..=126) - .flat_map(char::from_u32), + .flat_map(std::char::from_u32), ), Sequence::Punct => Box::new( (33..=47) .chain(58..=64) .chain(91..=96) .chain(123..=126) - .flat_map(char::from_u32), + .flat_map(std::char::from_u32), ), Sequence::Space => Box::new(unicode_table::SPACES.iter().cloned()), Sequence::Upper => Box::new('A'..='Z'), @@ -410,7 +410,11 @@ impl DeleteOperation { impl SymbolTranslator for DeleteOperation { fn translate(&mut self, current: char) -> Option { let found = self.set.iter().any(|sequence| sequence.eq(¤t)); - (self.complement_flag == found).then(|| current) + if self.complement_flag == found { + Some(current) + } else { + None + } } } @@ -466,7 +470,7 @@ pub enum TranslateOperation { impl TranslateOperation { fn next_complement_char(iter: u32, ignore_list: &[char]) -> (u32, char) { (iter..) - .filter_map(char::from_u32) + .filter_map(std::char::from_u32) .filter(|c| !ignore_list.iter().any(|s| s.eq(c))) .map(|c| (u32::from(c) + 1, c)) .next() @@ -498,7 +502,7 @@ impl SymbolTranslator for TranslateOperation { TranslateOperation::Standard(TranslateOperationStandard { translation_map }) => Some( translation_map .iter() - .find_map(|(l, r)| l.eq(¤t).then(|| *r)) + .find_map(|(l, r)| if l.eq(¤t) { Some(*r) } else { None }) .unwrap_or(current), ), TranslateOperation::Complement(TranslateOperationComplement { From e0d1bf9bbaec560367c93dc448cff289748f6cd9 Mon Sep 17 00:00:00 2001 From: Hanif Bin Ariffin Date: Sun, 19 Sep 2021 23:15:42 +0800 Subject: [PATCH 2/3] Ignore some spell checks Signed-off-by: Hanif Bin Ariffin --- tests/by-util/test_tr.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/by-util/test_tr.rs b/tests/by-util/test_tr.rs index 5f60f8d2a..fb0fb93eb 100644 --- a/tests/by-util/test_tr.rs +++ b/tests/by-util/test_tr.rs @@ -1,3 +1,4 @@ +// spell-checker:ignore abcdefabcdef dabcdef abcdefabcdef xyzzzzxyzzzz alnum abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ PQRST ABCDEFGHIJKLMNOPQRS xycde xyyye abcdefghijklmnop aabbcc abcc xdigit acbdef wxyzz wxyzz abcdefghijk aabbaa ABCDEFZZ abcdefghijklmn upcase cclass cefgm cntrl Zamz AMZXAMZ bbbd Gzabcdefg ZABCDEF compl use crate::common::util::*; #[test] From 1dc438c9d969b96da2e5a572ac16a9b48c89a0b9 Mon Sep 17 00:00:00 2001 From: Hanif Bin Ariffin Date: Sun, 19 Sep 2021 23:26:47 +0800 Subject: [PATCH 3/3] Fix spell check ignore list Use this small script: ```shell | tr ' ' '\n' | sort | uniq | tr '\n' ' ' ``` Signed-off-by: Hanif Bin Ariffin --- tests/by-util/test_tr.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/by-util/test_tr.rs b/tests/by-util/test_tr.rs index fb0fb93eb..417df6ec4 100644 --- a/tests/by-util/test_tr.rs +++ b/tests/by-util/test_tr.rs @@ -1,4 +1,4 @@ -// spell-checker:ignore abcdefabcdef dabcdef abcdefabcdef xyzzzzxyzzzz alnum abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ PQRST ABCDEFGHIJKLMNOPQRS xycde xyyye abcdefghijklmnop aabbcc abcc xdigit acbdef wxyzz wxyzz abcdefghijk aabbaa ABCDEFZZ abcdefghijklmn upcase cclass cefgm cntrl Zamz AMZXAMZ bbbd Gzabcdefg ZABCDEF compl +// spell-checker:ignore aabbaa aabbcc aabc abbb abcc abcdefabcdef abcdefghijk abcdefghijklmn abcdefghijklmnop ABCDEFGHIJKLMNOPQRS abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFZZ abcxyz ABCXYZ abcxyzabcxyz ABCXYZABCXYZ acbdef alnum amzamz AMZXAMZ bbbd cclass cefgm cntrl compl dabcdef dncase Gzabcdefg PQRST upcase wxyzz xdigit xycde xyyye xyyz xyzzzzxyzzzz ZABCDEF Zamz use crate::common::util::*; #[test]