iter clippy-sweep: clear all 61 cargo clippy warnings

Hygiene sweep across the workspace under `cargo clippy --workspace
--all-targets`. Before: 61 warnings. After: zero. Tests stay 563
green, `cargo doc` stays at zero warnings, and all three bench
scripts exit 0 against existing baselines.

Twelve lint classes, three fix shapes:

- Documentation hygiene (~32 hits): `doc_lazy_continuation` resolved
  by adding blank lines before continuation paragraphs or rephrasing
  the offending line; plus four `empty_line_after_doc_comments` hits
  in workspace.rs where eight `///` blocks left orphan by form-a.1
  T5 test relocation were converted to plain `//`.
- Idiomatic refactors (~16 hits): `.err().expect()` → `.expect_err()`,
  redundant `.into_iter()` and `.into()` removed, `|f| g(f)` →
  `g`, `.trim().split_whitespace()` → `.split_whitespace()`,
  `push_str("x")` → `push('x')`, two manual `impl Default` flipped
  to `#[derive(Default)]` + `#[default]`, two nested `if let Some(_)
  = …` collapsed.
- Block extraction (1 hit): a 13-line block inside an `else if`
  condition in synth's Var-arm extracted to a new helper
  `is_class_method_dispatch(name, env)` next to
  `qualifier_is_class_shape`.

Three `#[allow]`s with inline rationale where clippy's suggestion
would lose meaning: `only_used_in_recursion` on walk_pattern (the
parameter preserves the five-fn walker-framework signature
uniformity), 2× `if_same_then_else` on qualify_local_types shapes
(two branches encode semantically distinct disqualification
reasons), `too_many_arguments` on `Emitter::new` (8 workspace-flat
tables; bundling would just rename boilerplate).
This commit is contained in:
2026-05-14 00:48:17 +02:00
parent 04258c5cc1
commit abcdd05991
19 changed files with 302 additions and 162 deletions
+1
View File
@@ -237,6 +237,7 @@ pub fn tokenize(input: &str) -> Result<Vec<Token>, LexError> {
/// - `[-]?<digits>.<digits>`
/// - `[-]?<digits>.<digits>(e|E)[+-]?<digits>`
/// - `[-]?<digits>(e|E)[+-]?<digits>`
///
/// and contains at least one of `.`, `e`, `E` (otherwise the caller
/// would dispatch to the integer path). Rejects bare leading/trailing
/// dots (`5.`, `5.e10`), missing exponent digits (`1.5e`), and any
+5 -10
View File
@@ -1758,8 +1758,7 @@ mod tests {
(body 0)))
"#,
)
.err()
.expect("parse should fail");
.expect_err("parse should fail");
let msg = format!("{err}");
assert!(
msg.contains("borrow"),
@@ -1806,8 +1805,7 @@ mod tests {
(body (clone))))
"#,
)
.err()
.expect("parse should fail");
.expect_err("parse should fail");
let msg = format!("{err}");
assert!(
msg.contains("clone expects exactly one term argument"),
@@ -1864,8 +1862,7 @@ mod tests {
(body (reuse-as))))
"#,
)
.err()
.expect("parse should fail");
.expect_err("parse should fail");
let msg = format!("{err}");
assert!(
msg.contains("reuse-as expects exactly two term arguments"),
@@ -1885,8 +1882,7 @@ mod tests {
(body (reuse-as x))))
"#,
)
.err()
.expect("parse should fail");
.expect_err("parse should fail");
let msg = format!("{err}");
assert!(
msg.contains("reuse-as expects exactly two term arguments"),
@@ -1986,8 +1982,7 @@ mod tests {
(drop-iterative oops)))
"#,
)
.err()
.expect("parse should fail");
.expect_err("parse should fail");
let msg = format!("{err}");
assert!(
msg.contains("drop-iterative takes no arguments"),