From 916b2b784982e30654a3be349abf9259b9ce8263 Mon Sep 17 00:00:00 2001 From: Teakowa Date: Thu, 27 Aug 2026 18:19:30 +0800 Subject: [PATCH] fix: finish Clippy cleanup for Rust 1.85 --- src/bin/cli/mod.rs | 2 +- src/hir/lower.rs | 10 +++++----- src/project.rs | 2 +- src/semantic/check.rs | 22 +++++++++++----------- src/syntax/lexer.rs | 2 +- src/syntax/parser.rs | 2 +- tests/hir.rs | 14 +++++++------- 7 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/bin/cli/mod.rs b/src/bin/cli/mod.rs index f4253ea..15a800d 100644 --- a/src/bin/cli/mod.rs +++ b/src/bin/cli/mod.rs @@ -69,7 +69,7 @@ impl Renderer { ColorPolicy::Always => true, ColorPolicy::Never => false, ColorPolicy::Auto => { - !env::var_os("NO_COLOR").is_some() + env::var_os("NO_COLOR").is_none() && mode == PresentationMode::Terminal && io::stderr().is_terminal() } diff --git a/src/hir/lower.rs b/src/hir/lower.rs index 8ea8dc3..8e4ff23 100644 --- a/src/hir/lower.rs +++ b/src/hir/lower.rs @@ -54,7 +54,7 @@ pub fn lower(program: &SemanticProgram) -> (HirProgram, Vec Lowerer<'a> { +impl Lowerer<'_> { fn ty(&self, node: NodeId) -> Type { self.program.types.get(&node).cloned().unwrap_or(Type::Any) } @@ -750,7 +750,7 @@ impl<'a> Lowerer<'a> { ) { HirExprKind::External { name: name.name.clone(), - namespace: self.member_namespace(base), + namespace: Self::member_namespace(base), } } else { HirExprKind::Member { @@ -1039,7 +1039,7 @@ impl<'a> Lowerer<'a> { _ => HirExprKind::Call { target: CallTarget::External { name: name.name.clone(), - namespace: self.member_namespace(base), + namespace: Self::member_namespace(base), span: call.callee.span, }, args, @@ -1053,11 +1053,11 @@ impl<'a> Lowerer<'a> { } } - fn member_namespace(&mut self, base: &Expr) -> Vec { + fn member_namespace(base: &Expr) -> Vec { match &base.kind { ExprKind::Ident(i) => vec![i.name.clone()], ExprKind::Member { base, name } => { - let mut p = self.member_namespace(base); + let mut p = Self::member_namespace(base); p.push(name.name.clone()); p } diff --git a/src/project.rs b/src/project.rs index 303465f..b5b4816 100644 --- a/src/project.rs +++ b/src/project.rs @@ -203,7 +203,7 @@ struct Loader<'a> { by_canonical: HashMap, } -impl<'a> Loader<'a> { +impl Loader<'_> { fn resolve_path(&self, p: &Path) -> PathBuf { if p.is_absolute() { p.to_path_buf() diff --git a/src/semantic/check.rs b/src/semantic/check.rs index 4a362f4..f625d7a 100644 --- a/src/semantic/check.rs +++ b/src/semantic/check.rs @@ -543,11 +543,11 @@ impl<'a> Checker<'a> { self.program.tables.symbols[sid as usize].ty = inferred; } } - if !self.is_assignable(&init_ty, &ty) - && !ty.is_external() - && !ty.is_error() - && !init_ty.is_external() - && !(ty == Type::Any && matches!(v.kind, VarDeclKind::Define)) + if !(self.is_assignable(&init_ty, &ty) + || ty.is_external() + || ty.is_error() + || init_ty.is_external() + || ty == Type::Any && matches!(v.kind, VarDeclKind::Define)) { self.err( "SM051", @@ -1359,9 +1359,9 @@ impl<'a> Checker<'a> { } } BinaryOp::Sub | BinaryOp::Mul | BinaryOp::Div | BinaryOp::Mod | BinaryOp::Pow => { - if !(self.is_number_like(lt) && self.is_number_like(rt)) - && !matches!(lt, Type::Vector) - && !matches!(rt, Type::Vector) + if !(matches!(lt, Type::Vector) + || matches!(rt, Type::Vector) + || self.is_number_like(lt) && self.is_number_like(rt)) { self.err( "SM041", @@ -1790,7 +1790,7 @@ impl<'a> Checker<'a> { base: &Expr, name: &Ident, ) -> Type { - let namespace = self.member_path(base); + let namespace = Self::member_path(base); let query = NameQuery { namespace: namespace.clone(), name: name.name.clone(), @@ -1855,11 +1855,11 @@ impl<'a> Checker<'a> { } } - fn member_path(&mut self, base: &Expr) -> Vec { + fn member_path(base: &Expr) -> Vec { match &base.kind { ExprKind::Ident(i) => vec![i.name.clone()], ExprKind::Member { base, name } => { - let mut p = self.member_path(base); + let mut p = Self::member_path(base); p.push(name.name.clone()); p } diff --git a/src/syntax/lexer.rs b/src/syntax/lexer.rs index 7b19636..284be47 100644 --- a/src/syntax/lexer.rs +++ b/src/syntax/lexer.rs @@ -109,7 +109,7 @@ fn lex_with_base(file: FileId, text: &str, base: usize) -> (Vec, Vec Lexer<'a> { +impl Lexer<'_> { fn offset_at(&self, i: usize) -> usize { let off = if i >= self.chars.len() { self.text.len() diff --git a/src/syntax/parser.rs b/src/syntax/parser.rs index 7b18c04..c9f26c9 100644 --- a/src/syntax/parser.rs +++ b/src/syntax/parser.rs @@ -55,7 +55,7 @@ pub fn parse(tokens: &[Token], file: FileId, text: &str) -> (AstFile, Vec Parser<'a> { +impl Parser<'_> { fn node(&mut self) -> NodeId { let id = NodeId(self.next_node); self.next_node += 1; diff --git a/tests/hir.rs b/tests/hir.rs index 96e07e5..0a39f03 100644 --- a/tests/hir.rs +++ b/tests/hir.rs @@ -38,7 +38,7 @@ fn find_func(hir: &deltin_rs::hir::HirProgram, name: &str) -> deltin_rs::hir::Hi fn lowering_produces_program() { let text = "globalvar Number x = 5;\nrecursive Number fact(Number n) { if (n > 0) { return n * fact(n - 1); } return 1; }\nrule: \"\" {\n define y = fact(3);\n}\n"; let (hir, diags) = pipeline(text); - assert!(diags.iter().find(|d| d.is_error()).is_none(), "{:?}", diags); + assert!(!diags.iter().any(|d| d.is_error()), "{:?}", diags); assert!(!hir.funcs.is_empty()); assert!(!hir.rules.is_empty()); assert!(!hir.vars.is_empty()); @@ -49,7 +49,7 @@ fn lowering_produces_program() { fn lowering_preserves_spans() { let text = "rule: \"\" {\n define a = 1 + 2;\n}\n"; let (hir, diags) = pipeline(text); - assert!(diags.iter().find(|d| d.is_error()).is_none()); + assert!(!diags.iter().any(|d| d.is_error())); for e in &hir.exprs { // Spans must be within a plausible range for this file. assert!(e.span.end <= 1000); @@ -77,7 +77,7 @@ recursive Number fact(Number n) { } "#; let (hir, diags) = pipeline(text); - assert!(diags.iter().find(|d| d.is_error()).is_none(), "{:?}", diags); + assert!(!diags.iter().any(|d| d.is_error()), "{:?}", diags); let fid = find_func(&hir, "fact"); let result = run_oracle( &hir, @@ -103,7 +103,7 @@ Number sum(Number[] values) { } "#; let (hir, diags) = pipeline(text); - assert!(diags.iter().find(|d| d.is_error()).is_none(), "{:?}", diags); + assert!(!diags.iter().any(|d| d.is_error()), "{:?}", diags); let fid = find_func(&hir, "sum"); let result = run_oracle( &hir, @@ -134,7 +134,7 @@ Number classify(Number v) { } "#; let (hir, diags) = pipeline(text); - assert!(diags.iter().find(|d| d.is_error()).is_none(), "{:?}", diags); + assert!(!diags.iter().any(|d| d.is_error()), "{:?}", diags); let fid = find_func(&hir, "classify"); // Fallthrough: case 1 runs then falls into case 2 (out = 3). let result = run_oracle( @@ -152,7 +152,7 @@ Number classify(Number v) { fn oracle_loop_limit() { let text = "Number loop() { while (true) { } return 0; }\n"; let (hir, diags) = pipeline(text); - assert!(diags.iter().find(|d| d.is_error()).is_none()); + assert!(!diags.iter().any(|d| d.is_error())); let fid = find_func(&hir, "loop"); let result = run_oracle( &hir, @@ -175,7 +175,7 @@ fn oracle_loop_limit() { fn oracle_external_boundary() { let text = "Number f(Number a): a + ExternalValue();\n"; let (hir, diags) = pipeline(text); - assert!(diags.iter().find(|d| d.is_error()).is_none()); + assert!(!diags.iter().any(|d| d.is_error())); let fid = find_func(&hir, "f"); let result = run_oracle( &hir,