From 37c1569d9cd12825cda73806546d74494b3a640b Mon Sep 17 00:00:00 2001 From: Dimitris Apostolou Date: Sun, 19 Jan 2025 15:15:06 +0200 Subject: [PATCH] Fix clippy warnings --- eipw-lint/src/lib.rs | 33 +++++++++++--------- eipw-lint/src/lints/markdown/json_schema.rs | 2 +- eipw-lint/src/lints/markdown/link_first.rs | 4 +-- eipw-lint/src/lints/markdown/no_backticks.rs | 4 +-- eipw-lint/src/lints/markdown/regex.rs | 4 +-- eipw-lint/src/tree.rs | 2 +- 6 files changed, 27 insertions(+), 22 deletions(-) diff --git a/eipw-lint/src/lib.rs b/eipw-lint/src/lib.rs index e717611a..057e093f 100644 --- a/eipw-lint/src/lib.rs +++ b/eipw-lint/src/lib.rs @@ -489,7 +489,7 @@ enum Source<'a> { File(&'a Path), } -impl<'a> Source<'a> { +impl Source<'_> { fn origin(&self) -> Option<&Path> { match self { Self::String { @@ -509,8 +509,7 @@ impl<'a> Source<'a> { Self::File(f) => fetch .fetch(f.to_path_buf()) .await - .with_context(|_| IoSnafu { path: f.to_owned() }) - .map_err(Into::into), + .with_context(|_| IoSnafu { path: f.to_owned() }), Self::String { src, .. } => Ok((*src).to_owned()), } } @@ -565,6 +564,10 @@ impl Default for Options { } } +// Type aliases for the iterators with lifetime annotations +type ModifierIterator<'a> = dyn Iterator> + 'a; +type LintIterator<'a> = dyn Iterator)> + 'a; + impl Options, HashMap> where M: 'static + Clone + Modifier, @@ -574,17 +577,19 @@ where pub fn to_iters( &self, ) -> Options< - impl Iterator> + '_, - impl Iterator)>, + Box>, // Use boxed trait objects + Box>, // Use boxed trait objects > { - let modifiers = self - .modifiers - .as_ref() - .map(|m| m.iter().map(|n| Box::new(n.clone()) as Box)); + let modifiers = self.modifiers.as_ref().map(|m| { + Box::new(m.iter().map(|n| Box::new(n.clone()) as Box)) + as Box>> + }); let lints = self.lints.as_ref().map(|l| { - l.iter() - .map(|(k, v)| (k.as_ref(), Box::new(v.clone()) as Box)) + Box::new( + l.iter() + .map(|(k, v)| (k.as_ref(), Box::new(v.clone()) as Box)), + ) as Box)>> }); Options { @@ -612,7 +617,7 @@ pub struct Linter<'a, R> { fetch: Box, } -impl<'a, R> Default for Linter<'a, R> +impl Default for Linter<'_, R> where R: Default, { @@ -927,7 +932,7 @@ fn process<'a>( ) -> Result>, Error> { let (preamble_source, body_source) = match Preamble::split(source) { Ok(v) => v, - Err(SplitError::MissingStart { .. }) | Err(SplitError::LeadingGarbage { .. }) => { + Err(SplitError::MissingStart) | Err(SplitError::LeadingGarbage) => { let mut footer = Vec::new(); if source.as_bytes().get(3) == Some(&b'\r') { footer.push(Level::Help.title( @@ -952,7 +957,7 @@ fn process<'a>( })?; return Ok(None); } - Err(SplitError::MissingEnd { .. }) => { + Err(SplitError::MissingEnd) => { reporter .report( Level::Error diff --git a/eipw-lint/src/lints/markdown/json_schema.rs b/eipw-lint/src/lints/markdown/json_schema.rs index 39990a83..c1e46b22 100644 --- a/eipw-lint/src/lints/markdown/json_schema.rs +++ b/eipw-lint/src/lints/markdown/json_schema.rs @@ -75,7 +75,7 @@ struct Visitor<'a, 'b, 'c> { schema: Validator, } -impl<'a, 'b, 'c> tree::Visitor for Visitor<'a, 'b, 'c> { +impl tree::Visitor for Visitor<'_, '_, '_> { type Error = Error; fn enter_code_block(&mut self, ast: &Ast, node: &NodeCodeBlock) -> Result { diff --git a/eipw-lint/src/lints/markdown/link_first.rs b/eipw-lint/src/lints/markdown/link_first.rs index 48649adc..8d870b82 100644 --- a/eipw-lint/src/lints/markdown/link_first.rs +++ b/eipw-lint/src/lints/markdown/link_first.rs @@ -67,7 +67,7 @@ struct Visitor<'a, 'b, 'c> { own_number: Option, } -impl<'a, 'b, 'c> Visitor<'a, 'b, 'c> { +impl Visitor<'_, '_, '_> { fn check(&self, ast: &Ast, text: &str) -> Result { for matched in self.re.captures_iter(text) { let self_reference = match self.own_number { @@ -115,7 +115,7 @@ impl<'a, 'b, 'c> Visitor<'a, 'b, 'c> { } } -impl<'a, 'b, 'c> tree::Visitor for Visitor<'a, 'b, 'c> { +impl tree::Visitor for Visitor<'_, '_, '_> { type Error = Error; fn enter_front_matter(&mut self, _: &Ast, _: &str) -> Result { diff --git a/eipw-lint/src/lints/markdown/no_backticks.rs b/eipw-lint/src/lints/markdown/no_backticks.rs index 7880ab0a..99c4d9c0 100644 --- a/eipw-lint/src/lints/markdown/no_backticks.rs +++ b/eipw-lint/src/lints/markdown/no_backticks.rs @@ -48,7 +48,7 @@ struct Visitor<'a, 'b, 'c> { slug: &'c str, } -impl<'a, 'b, 'c> Visitor<'a, 'b, 'c> { +impl Visitor<'_, '_, '_> { fn check(&mut self, ast: &Ast, text: &str) -> Result { if !self.re.is_match(text) { return Ok(Next::TraverseChildren); @@ -74,7 +74,7 @@ impl<'a, 'b, 'c> Visitor<'a, 'b, 'c> { } } -impl<'a, 'b, 'c> tree::Visitor for Visitor<'a, 'b, 'c> { +impl tree::Visitor for Visitor<'_, '_, '_> { type Error = Error; fn enter_code(&mut self, ast: &Ast, code: &NodeCode) -> Result { diff --git a/eipw-lint/src/lints/markdown/regex.rs b/eipw-lint/src/lints/markdown/regex.rs index 7d381735..67f7a34c 100644 --- a/eipw-lint/src/lints/markdown/regex.rs +++ b/eipw-lint/src/lints/markdown/regex.rs @@ -70,7 +70,7 @@ struct ExcludesVisitor<'a, 'b, 'c> { message: &'c str, } -impl<'a, 'b, 'c> ExcludesVisitor<'a, 'b, 'c> { +impl ExcludesVisitor<'_, '_, '_> { fn check(&self, ast: &Ast, buf: &str) -> Result { if !self.re.is_match(buf) { return Ok(Next::TraverseChildren); @@ -99,7 +99,7 @@ impl<'a, 'b, 'c> ExcludesVisitor<'a, 'b, 'c> { } } -impl<'a, 'b, 'c> tree::Visitor for ExcludesVisitor<'a, 'b, 'c> { +impl tree::Visitor for ExcludesVisitor<'_, '_, '_> { type Error = Error; fn enter_front_matter(&mut self, _: &Ast, _: &str) -> Result { diff --git a/eipw-lint/src/tree.rs b/eipw-lint/src/tree.rs index 3be2f65b..cea35eff 100644 --- a/eipw-lint/src/tree.rs +++ b/eipw-lint/src/tree.rs @@ -499,7 +499,7 @@ pub trait TraverseExt { V: Visitor; } -impl<'a> TraverseExt for Traverse<'a, RefCell> { +impl TraverseExt for Traverse<'_, RefCell> { fn visit(self, visitor: &mut V) -> Result<(), V::Error> where V: Visitor,