mirror of
https://github.com/uutils/coreutils
synced 2024-12-18 00:53:25 +00:00
Reduce MSRV to 1.47.0
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
This commit is contained in:
parent
9ab4f3de2f
commit
f464879b12
2 changed files with 13 additions and 9 deletions
|
@ -15,7 +15,7 @@ fn parse_octal(input: &str) -> IResult<&str, char> {
|
||||||
preceded(tag("\\"), recognize(many_m_n(1, 3, one_of("01234567")))),
|
preceded(tag("\\"), recognize(many_m_n(1, 3, one_of("01234567")))),
|
||||||
|out: &str| {
|
|out: &str| {
|
||||||
u32::from_str_radix(out, 8)
|
u32::from_str_radix(out, 8)
|
||||||
.map(char::from_u32)
|
.map(std::char::from_u32)
|
||||||
.ok()
|
.ok()
|
||||||
.flatten()
|
.flatten()
|
||||||
},
|
},
|
||||||
|
|
|
@ -76,7 +76,7 @@ impl Sequence {
|
||||||
pub fn flatten(&self) -> Box<dyn Iterator<Item = char>> {
|
pub fn flatten(&self) -> Box<dyn Iterator<Item = char>> {
|
||||||
match self {
|
match self {
|
||||||
Sequence::Char(c) => Box::new(std::iter::once(*c)),
|
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::CharStar(c) => Box::new(std::iter::repeat(*c)),
|
||||||
Sequence::CharRepeat(c, n) => Box::new(std::iter::repeat(*c).take(*n)),
|
Sequence::CharRepeat(c, n) => Box::new(std::iter::repeat(*c).take(*n)),
|
||||||
Sequence::Alnum => Box::new(('0'..='9').chain('A'..='Z').chain('a'..='z')),
|
Sequence::Alnum => Box::new(('0'..='9').chain('A'..='Z').chain('a'..='z')),
|
||||||
|
@ -85,7 +85,7 @@ impl Sequence {
|
||||||
Sequence::Control => Box::new(
|
Sequence::Control => Box::new(
|
||||||
(0..=31)
|
(0..=31)
|
||||||
.chain(std::iter::once(127))
|
.chain(std::iter::once(127))
|
||||||
.flat_map(char::from_u32),
|
.flat_map(std::char::from_u32),
|
||||||
),
|
),
|
||||||
Sequence::Digit => Box::new('0'..='9'),
|
Sequence::Digit => Box::new('0'..='9'),
|
||||||
Sequence::Graph => Box::new(
|
Sequence::Graph => Box::new(
|
||||||
|
@ -98,7 +98,7 @@ impl Sequence {
|
||||||
.chain(91..=96)
|
.chain(91..=96)
|
||||||
.chain(123..=126)
|
.chain(123..=126)
|
||||||
.chain(std::iter::once(32)) // space
|
.chain(std::iter::once(32)) // space
|
||||||
.flat_map(char::from_u32),
|
.flat_map(std::char::from_u32),
|
||||||
),
|
),
|
||||||
Sequence::Lower => Box::new('a'..='z'),
|
Sequence::Lower => Box::new('a'..='z'),
|
||||||
Sequence::Print => Box::new(
|
Sequence::Print => Box::new(
|
||||||
|
@ -110,14 +110,14 @@ impl Sequence {
|
||||||
.chain(58..=64)
|
.chain(58..=64)
|
||||||
.chain(91..=96)
|
.chain(91..=96)
|
||||||
.chain(123..=126)
|
.chain(123..=126)
|
||||||
.flat_map(char::from_u32),
|
.flat_map(std::char::from_u32),
|
||||||
),
|
),
|
||||||
Sequence::Punct => Box::new(
|
Sequence::Punct => Box::new(
|
||||||
(33..=47)
|
(33..=47)
|
||||||
.chain(58..=64)
|
.chain(58..=64)
|
||||||
.chain(91..=96)
|
.chain(91..=96)
|
||||||
.chain(123..=126)
|
.chain(123..=126)
|
||||||
.flat_map(char::from_u32),
|
.flat_map(std::char::from_u32),
|
||||||
),
|
),
|
||||||
Sequence::Space => Box::new(unicode_table::SPACES.iter().cloned()),
|
Sequence::Space => Box::new(unicode_table::SPACES.iter().cloned()),
|
||||||
Sequence::Upper => Box::new('A'..='Z'),
|
Sequence::Upper => Box::new('A'..='Z'),
|
||||||
|
@ -410,7 +410,11 @@ impl DeleteOperation {
|
||||||
impl SymbolTranslator for DeleteOperation {
|
impl SymbolTranslator for DeleteOperation {
|
||||||
fn translate(&mut self, current: char) -> Option<char> {
|
fn translate(&mut self, current: char) -> Option<char> {
|
||||||
let found = self.set.iter().any(|sequence| sequence.eq(¤t));
|
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 {
|
impl TranslateOperation {
|
||||||
fn next_complement_char(iter: u32, ignore_list: &[char]) -> (u32, char) {
|
fn next_complement_char(iter: u32, ignore_list: &[char]) -> (u32, char) {
|
||||||
(iter..)
|
(iter..)
|
||||||
.filter_map(char::from_u32)
|
.filter_map(std::char::from_u32)
|
||||||
.filter(|c| !ignore_list.iter().any(|s| s.eq(c)))
|
.filter(|c| !ignore_list.iter().any(|s| s.eq(c)))
|
||||||
.map(|c| (u32::from(c) + 1, c))
|
.map(|c| (u32::from(c) + 1, c))
|
||||||
.next()
|
.next()
|
||||||
|
@ -498,7 +502,7 @@ impl SymbolTranslator for TranslateOperation {
|
||||||
TranslateOperation::Standard(TranslateOperationStandard { translation_map }) => Some(
|
TranslateOperation::Standard(TranslateOperationStandard { translation_map }) => Some(
|
||||||
translation_map
|
translation_map
|
||||||
.iter()
|
.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),
|
.unwrap_or(current),
|
||||||
),
|
),
|
||||||
TranslateOperation::Complement(TranslateOperationComplement {
|
TranslateOperation::Complement(TranslateOperationComplement {
|
||||||
|
|
Loading…
Reference in a new issue