From e49714ced7469f1c3a8447bb260aa6937a4648a4 Mon Sep 17 00:00:00 2001 From: Emilia Hane Date: Wed, 16 Oct 2024 20:07:43 +0200 Subject: [PATCH] Fix lint --- crates/codegen/src/loop_analysis.rs | 2 +- crates/codegen/src/optim/sccp.rs | 2 +- crates/ir/src/cfg.rs | 2 +- crates/ir/src/graphviz/block.rs | 2 +- crates/ir/src/graphviz/function.rs | 2 +- crates/ir/src/inst/inst_set.rs | 4 +++- crates/ir/src/interpret/data.rs | 2 +- crates/ir/src/layout.rs | 4 ++-- crates/macros/src/lib.rs | 9 ++++++--- crates/parser/src/syntax.rs | 2 +- crates/verifier/src/error/kind.rs | 2 +- crates/verifier/src/error/mod.rs | 2 +- crates/verifier/src/error/trace_info.rs | 2 +- 13 files changed, 21 insertions(+), 16 deletions(-) diff --git a/crates/codegen/src/loop_analysis.rs b/crates/codegen/src/loop_analysis.rs index 7f478fba..f7a66a3f 100644 --- a/crates/codegen/src/loop_analysis.rs +++ b/crates/codegen/src/loop_analysis.rs @@ -203,7 +203,7 @@ impl<'a, 'b> BlocksInLoopPostOrder<'a, 'b> { } } -impl<'a, 'b> Iterator for BlocksInLoopPostOrder<'a, 'b> { +impl Iterator for BlocksInLoopPostOrder<'_, '_> { type Item = BlockId; fn next(&mut self) -> Option { diff --git a/crates/codegen/src/optim/sccp.rs b/crates/codegen/src/optim/sccp.rs index 32e9980d..b1525c7d 100644 --- a/crates/codegen/src/optim/sccp.rs +++ b/crates/codegen/src/optim/sccp.rs @@ -481,7 +481,7 @@ impl<'a, 'i> CellState<'a, 'i> { } } -impl<'a, 'i> State for CellState<'a, 'i> { +impl State for CellState<'_, '_> { fn lookup_val(&mut self, value: ValueId) -> EvalValue { self.used_val.insert(value); diff --git a/crates/ir/src/cfg.rs b/crates/ir/src/cfg.rs index 7d4451c8..60a4cc1a 100644 --- a/crates/ir/src/cfg.rs +++ b/crates/ir/src/cfg.rs @@ -159,7 +159,7 @@ impl<'a> CfgPostOrder<'a> { } } -impl<'a> Iterator for CfgPostOrder<'a> { +impl Iterator for CfgPostOrder<'_> { type Item = BlockId; fn next(&mut self) -> Option { diff --git a/crates/ir/src/graphviz/block.rs b/crates/ir/src/graphviz/block.rs index f7d9bd74..2d6ec50c 100644 --- a/crates/ir/src/graphviz/block.rs +++ b/crates/ir/src/graphviz/block.rs @@ -28,7 +28,7 @@ impl<'a> BlockNode<'a> { } } -impl<'a> BlockNode<'a> { +impl BlockNode<'_> { pub(super) fn label(self) -> label::Text<'static> { let Self { block, ctx, .. } = self; let Function { sig, layout, .. } = &ctx.func; diff --git a/crates/ir/src/graphviz/function.rs b/crates/ir/src/graphviz/function.rs index bd625b58..f209f057 100644 --- a/crates/ir/src/graphviz/function.rs +++ b/crates/ir/src/graphviz/function.rs @@ -124,7 +124,7 @@ pub(super) struct BlockEdge<'a> { ctx: &'a FuncWriteCtx<'a>, } -impl<'a> BlockEdge<'a> { +impl BlockEdge<'_> { fn label(self) -> Text<'static> { let Self { from, to, ctx } = self; let to = to.block; diff --git a/crates/ir/src/inst/inst_set.rs b/crates/ir/src/inst/inst_set.rs index d4b031a8..8a487a09 100644 --- a/crates/ir/src/inst/inst_set.rs +++ b/crates/ir/src/inst/inst_set.rs @@ -111,7 +111,9 @@ define_inst_set_base! { } /// This trait provides the concrete mapping from `Inst` to corresponding enum -/// variant. All instruction set that are defined by `sonatina_macros::inst_set` +/// variant. +/// +/// All instruction set that are defined by `sonatina_macros::inst_set` /// automatically defines an enum which represents all instructions in the set. /// e.g. /// diff --git a/crates/ir/src/interpret/data.rs b/crates/ir/src/interpret/data.rs index 70ccea8d..8810238c 100644 --- a/crates/ir/src/interpret/data.rs +++ b/crates/ir/src/interpret/data.rs @@ -95,6 +95,6 @@ impl Interpret for Gep { } fn align_to(offset: usize, alignment: usize) -> usize { - assert!(alignment & (alignment - 1) == 0); + assert!(alignment.is_power_of_two()); (offset + alignment - 1) & !(alignment - 1) } diff --git a/crates/ir/src/layout.rs b/crates/ir/src/layout.rs index 479ef42f..b2f9ae67 100644 --- a/crates/ir/src/layout.rs +++ b/crates/ir/src/layout.rs @@ -296,7 +296,7 @@ struct BlockIter<'a> { blocks: &'a SecondaryMap, } -impl<'a> Iterator for BlockIter<'a> { +impl Iterator for BlockIter<'_> { type Item = BlockId; fn next(&mut self) -> Option { @@ -311,7 +311,7 @@ struct InstIter<'a> { insts: &'a SecondaryMap, } -impl<'a> Iterator for InstIter<'a> { +impl Iterator for InstIter<'_> { type Item = InstId; fn next(&mut self) -> Option { diff --git a/crates/macros/src/lib.rs b/crates/macros/src/lib.rs index 99f51cb1..eec71f2f 100644 --- a/crates/macros/src/lib.rs +++ b/crates/macros/src/lib.rs @@ -38,6 +38,7 @@ pub fn define_inst_set_base(input: proc_macro::TokenStream) -> proc_macro::Token } /// A macro to define an instruction set that is specific to an target arch. +/// /// In sonatina, an InstructionSet is defined as a type that implements /// `HasInst<{Inst}>` for all `{Inst}` it contains, and also implements /// `InstSetBase` and `InstSetExt`. This macro automatically implements these @@ -69,9 +70,11 @@ pub fn inst_set( inst_set::define_inst_set(attr, input) } -/// A procedural macro attribute that facilitates defining a trait with a -/// specific set of instruction types (implementing the `Inst` trait) and -/// automatically implements downcasting functionality for the trait. +/// A procedural macro attribute for instruction set construction. +/// +/// Facilitates defining a trait with a specific set of instruction types +/// (implementing the `Inst` trait) and automatically implements downcasting +/// functionality for the trait. /// /// # Usage /// diff --git a/crates/parser/src/syntax.rs b/crates/parser/src/syntax.rs index e72b2661..203e7bee 100644 --- a/crates/parser/src/syntax.rs +++ b/crates/parser/src/syntax.rs @@ -202,7 +202,7 @@ impl<'i, E> Node<'i, E> { } } -impl<'i, E> std::default::Default for Node<'i, E> { +impl std::default::Default for Node<'_, E> { fn default() -> Self { Self { rule: Rule::EOI, diff --git a/crates/verifier/src/error/kind.rs b/crates/verifier/src/error/kind.rs index bae5ae54..4b0e17a9 100644 --- a/crates/verifier/src/error/kind.rs +++ b/crates/verifier/src/error/kind.rs @@ -67,7 +67,7 @@ impl<'a> DisplayErrorKind<'a> { } } -impl<'a> fmt::Display for DisplayErrorKind<'a> { +impl fmt::Display for DisplayErrorKind<'_> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { use ErrorKind::*; match self.kind { diff --git a/crates/verifier/src/error/mod.rs b/crates/verifier/src/error/mod.rs index b46ecb9b..6441ab12 100644 --- a/crates/verifier/src/error/mod.rs +++ b/crates/verifier/src/error/mod.rs @@ -45,7 +45,7 @@ impl<'a> Error<'a> { } } -impl<'a> fmt::Display for Error<'a> { +impl fmt::Display for Error<'_> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let ErrorData { kind, trace_info } = self.err; let kind = DisplayErrorKind::new(kind, self.func, self.func_ref); diff --git a/crates/verifier/src/error/trace_info.rs b/crates/verifier/src/error/trace_info.rs index df20a6da..6ec07c20 100644 --- a/crates/verifier/src/error/trace_info.rs +++ b/crates/verifier/src/error/trace_info.rs @@ -67,7 +67,7 @@ impl<'a, 'b> DisplayTraceInfo<'a, 'b> { } } -impl<'a, 'b> fmt::Display for DisplayTraceInfo<'a, 'b> { +impl fmt::Display for DisplayTraceInfo<'_, '_> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let TraceInfo { block,