Skip to content

lint: upgrade perfectionist#437

Draft
KSXGitHub wants to merge 1 commit into
masterfrom
claude/jolly-wright-imZGL
Draft

lint: upgrade perfectionist#437
KSXGitHub wants to merge 1 commit into
masterfrom
claude/jolly-wright-imZGL

Conversation

@KSXGitHub
Copy link
Copy Markdown
Owner

@KSXGitHub KSXGitHub commented Jun 4, 2026

Upgrades perfectionist from 0.0.0-rc.17 to 0.0.0-rc.18 and brings the tree into compliance with the rules it adds or extends.

New active rules

  • import_grouping — configured for the single_group style. Blank-split import runs are collapsed so each module keeps one contiguous use block.
  • bare_identifier_reference — backticked identifiers in doc comments that resolve in scope are rewritten as intra-doc links.
  • prefer_expect_over_allow — the clippy::float_cmp suppressions in the fraction tests move from #[allow] to #[expect].

Extended rule

  • prefer_raw_string now scans macro arguments (upstream bug fix), so the roff write!/format! strings in man_page become raw strings. The rendered man page is byte-for-byte unchanged.

Known limitation

The single_group style cannot keep #[cfg]-gated imports in their own trailing group, so the affected files carry a module-level #[expect(perfectionist::import_grouping)]. Tracked in #436.

No pre-existing perfectionist workarounds or lint suppressions existed to remove; inline_test_footprint (the rename of unit_test_file_layout) and the derive_ordering cfg_attr fixes required no changes, as the tree already complied.

@KSXGitHub KSXGitHub force-pushed the claude/jolly-wright-imZGL branch from 8c01b7e to 34b22aa Compare June 4, 2026 17:52
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 4, 2026

Performance Regression Reports

commit: 40e4bce

There are no regressions.

Bump the dylint library tag from `0.0.0-rc.17` to `0.0.0-rc.18` and
bring the tree into compliance with the rules it adds or extends:

- `import_grouping` (new, active): configured for the `single_group`
  style. Blank lines that split an import run are removed so each
  module keeps one contiguous `use` block.
- `bare_identifier_reference` (new, active): backticked identifiers in
  doc comments that resolve in scope are now written as intra-doc
  links.
- `prefer_expect_over_allow` (new, active): the `clippy::float_cmp`
  suppressions in the fraction tests switch from `#[allow]` to
  `#[expect]`.
- `prefer_raw_string` (broadened in KSXGitHub/perfectionist#233): the
  rule now scans macro arguments, so the roff `write!`/`format!` strings
  in `man_page` become raw strings. The rendered man page is
  byte-for-byte unchanged.

The `single_group` style cannot keep `#[cfg]`-gated imports in their
own trailing group, so files that rely on that layout carry a
module-level `#[expect(perfectionist::import_grouping)]`. This
limitation is tracked in #436.

https://claude.ai/code/session_016ZyYFnzSv876usUHLEX4qe
@KSXGitHub KSXGitHub force-pushed the claude/jolly-wright-imZGL branch from 34b22aa to ae61ecf Compare June 4, 2026 18:04
@KSXGitHub KSXGitHub marked this pull request as ready for review June 4, 2026 18:23
@KSXGitHub KSXGitHub marked this pull request as draft June 4, 2026 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants