Skip to content

chore: update Rust to 1.97.1 and refresh dependencies and linters - #412

Merged
owenlamont merged 1 commit into
mainfrom
chore/rust-1.97.1-dependency-refresh
Aug 16, 2026
Merged

chore: update Rust to 1.97.1 and refresh dependencies and linters#412
owenlamont merged 1 commit into
mainfrom
chore/rust-1.97.1-dependency-refresh

Conversation

@owenlamont

Copy link
Copy Markdown
Owner

Replaces the stalled #398, which has been frozen at its 2026-07-19 state since the refresh bot lost push access (fixed separately in #411).

Rust 1.96.0 → 1.97.1

rust-toolchain.toml, clippy.toml msrv, and the AGENTS.md version line, kept in sync per the repo's own rule.

Audit for new-in-1.97 features this codebase could adopt — nothing applies:

1.97 change Applicability
isolate_highest_one / lowest_one / bit_width etc. None — the only bit ops here are flag constants (1 << 0) in float_values.rs
char::is_control now const-stable 6 call sites, all inside non-const predicates returning Cow / using .contains() — cannot be exploited
std::char deprecation Probed rustc 1.97.1 -D warnings: no warning fires today. decoder.rs imports std::char redundantly (the inherent char::from_u32 needs no import) — worth removing later, not in this PR
Cargo build.warnings stabilised Could replace the -D warnings duplication in prek.toml and ci.yml, but it targets rustc warnings rather than clippy lints, so it deserves its own change

Clippy under msrv = "1.97.1" reports no modernisation opportunities, which corroborates the manual pass.

Dependency and linter refresh

  • cargo update
  • prek autoupdate --cooldown-days 7 → rumdl 0.2.52, ruff 0.16.2, typos 1.49.0, zizmor 1.29.0
  • ruff 0.16's new RUF105/RUF106 rewrote one suppression comment in scripts/update_yamllint_schemastore_snapshot.py

The syn duplicate

cargo update moves the build graph to syn 3.x, but synstructure 0.13 still pins syn 2.x, so clippy::cargo's multiple_crate_versions fails the build. syn 2.x enters only through the jsonschema dev-dependency:

ryl [dev-dependencies] -> jsonschema -> reqwest -> url -> idna
  -> idna_adapter -> icu_normalizer -> icu_provider -> icu_locale_core
  -> zerovec -> yoke -> yoke-derive -> synstructure 0.13 -> syn 2.0.119

No bump on our side resolves it, so syn joins bitflags in allowed-duplicate-crates, following the existing precedent of whitelisting individual crates rather than disabling the lint.

Also included

pymdown-extensions → 11.0.1. This is the same lockfile change as #411 and exists here only so this branch is independently green; it rebases away once #411 merges.

Verification

  • prek run --all-files — exit 0
  • cargo clippy --all-targets -- -D warnings — clean
  • cargo clippy --all-targets --no-default-features -- -D warnings — clean
  • cargo nextest run --all-features1752 passed, 0 skipped

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 16, 2026

Copy link
Copy Markdown

Deploying ryl-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: f8dd707
Status: ✅  Deploy successful!
Preview URL: https://51b012d3.ryl-docs.pages.dev
Branch Preview URL: https://chore-rust-1-97-1-dependency.ryl-docs.pages.dev

View logs

@github-actions

github-actions Bot commented Aug 16, 2026

Copy link
Copy Markdown

Test Coverage (nextest + cargo-llvm-cov)

Filename                                Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
cli_support.rs                              168                 0   100.00%           7                 0   100.00%          95                 0   100.00%           0                 0         -
conf/mod.rs                                  10                 0   100.00%           1                 0   100.00%           7                 0   100.00%           0                 0         -
config.rs                                  1793                 0   100.00%         176                 0   100.00%        1281                 0   100.00%           0                 0         -
config_schema.rs                            491                 0   100.00%          46                 0   100.00%         389                 0   100.00%           0                 0         -
config_schema/serialization.rs              631                 0   100.00%          36                 0   100.00%         410                 0   100.00%           0                 0         -
config_schema/validation.rs                 171                 0   100.00%          21                 0   100.00%         146                 0   100.00%           0                 0         -
decoder.rs                                  482                 0   100.00%          35                 0   100.00%         321                 0   100.00%           0                 0         -
directives.rs                               284                 0   100.00%          24                 0   100.00%         174                 0   100.00%           0                 0         -
discover.rs                                  63                 0   100.00%           5                 0   100.00%          40                 0   100.00%           0                 0         -
fix.rs                                      602                 0   100.00%          39                 0   100.00%         385                 0   100.00%           0                 0         -
lint.rs                                     310                 0   100.00%          22                 0   100.00%         195                 0   100.00%           0                 0         -
lsp/actions.rs                              244                 0   100.00%          17                 0   100.00%         188                 0   100.00%           0                 0         -
lsp/analysis.rs                              98                 0   100.00%          10                 0   100.00%          74                 0   100.00%           0                 0         -
lsp/encoding.rs                             299                 0   100.00%          21                 0   100.00%         168                 0   100.00%           0                 0         -
lsp/hover.rs                                 39                 0   100.00%           3                 0   100.00%          28                 0   100.00%           0                 0         -
lsp/mod.rs                                 1016                 0   100.00%          75                 0   100.00%         766                 0   100.00%           0                 0         -
lsp/rename.rs                               158                 0   100.00%          11                 0   100.00%         111                 0   100.00%           0                 0         -
main.rs                                    1451                 0   100.00%          94                 0   100.00%         976                 0   100.00%           0                 0         -
markdown_embed/lint.rs                      109                 0   100.00%           6                 0   100.00%          75                 0   100.00%           0                 0         -
markdown_embed/mod.rs                       185                 0   100.00%          14                 0   100.00%         133                 0   100.00%           0                 0         -
migrate.rs                                  351                 0   100.00%          27                 0   100.00%         255                 0   100.00%           0                 0         -
report.rs                                   349                 0   100.00%          10                 0   100.00%         204                 0   100.00%           0                 0         -
rules/anchors.rs                            184                 0   100.00%          11                 0   100.00%         155                 0   100.00%           0                 0         -
rules/block_scalar_chomping.rs               94                 0   100.00%          11                 0   100.00%          60                 0   100.00%           0                 0         -
rules/colons.rs                             299                 0   100.00%          20                 0   100.00%         228                 0   100.00%           0                 0         -
rules/commas.rs                             350                 0   100.00%          15                 0   100.00%         246                 0   100.00%           0                 0         -
rules/comments.rs                           194                 0   100.00%          12                 0   100.00%         125                 0   100.00%           0                 0         -
rules/comments_indentation.rs               380                 0   100.00%          20                 0   100.00%         230                 0   100.00%           0                 0         -
rules/document_end.rs                       197                 0   100.00%          15                 0   100.00%         133                 0   100.00%           0                 0         -
rules/document_start.rs                     122                 0   100.00%          11                 0   100.00%          82                 0   100.00%           0                 0         -
rules/empty_lines.rs                        196                 0   100.00%          10                 0   100.00%         128                 0   100.00%           0                 0         -
rules/empty_values.rs                       155                 0   100.00%          12                 0   100.00%         139                 0   100.00%           0                 0         -
rules/float_values.rs                       270                 0   100.00%          24                 0   100.00%         170                 0   100.00%           0                 0         -
rules/hyphens.rs                            150                 0   100.00%           8                 0   100.00%         105                 0   100.00%           0                 0         -
rules/indentation.rs                        682                 0   100.00%          45                 0   100.00%         587                 0   100.00%           0                 0         -
rules/key_duplicates.rs                     684                 0   100.00%          47                 0   100.00%         464                 0   100.00%           0                 0         -
rules/key_ordering.rs                       208                 0   100.00%          23                 0   100.00%         142                 0   100.00%           0                 0         -
rules/line_length.rs                        193                 0   100.00%          15                 0   100.00%         132                 0   100.00%           0                 0         -
rules/merge_keys.rs                          49                 0   100.00%           2                 0   100.00%          32                 0   100.00%           0                 0         -
rules/new_line_at_end_of_file.rs             29                 0   100.00%           3                 0   100.00%          19                 0   100.00%           0                 0         -
rules/new_lines.rs                           92                 0   100.00%           7                 0   100.00%          61                 0   100.00%           0                 0         -
rules/octal_values.rs                       104                 0   100.00%          11                 0   100.00%          70                 0   100.00%           0                 0         -
rules/quoted_strings.rs                    1238                 0   100.00%          95                 0   100.00%         879                 0   100.00%           0                 0         -
rules/support/comments_scan.rs               21                 0   100.00%           2                 0   100.00%          16                 0   100.00%           0                 0         -
rules/support/flow_collection.rs            613                 0   100.00%          36                 0   100.00%         501                 0   100.00%           0                 0         -
rules/support/line_syntax.rs                254                 0   100.00%          21                 0   100.00%         181                 0   100.00%           0                 0         -
rules/support/mapping_key_walker.rs          89                 0   100.00%          15                 0   100.00%          87                 0   100.00%           0                 0         -
rules/support/merge_key.rs                   13                 0   100.00%           2                 0   100.00%          12                 0   100.00%           0                 0         -
rules/support/punctuation.rs                158                 0   100.00%          16                 0   100.00%         107                 0   100.00%           0                 0         -
rules/support/span_utils.rs                  74                 0   100.00%          11                 0   100.00%          62                 0   100.00%           0                 0         -
rules/support/yaml_version.rs                83                 0   100.00%          12                 0   100.00%          62                 0   100.00%           0                 0         -
rules/tags.rs                               119                 0   100.00%           9                 0   100.00%          90                 0   100.00%           0                 0         -
rules/trailing_spaces.rs                     73                 0   100.00%           3                 0   100.00%          35                 0   100.00%           0                 0         -
rules/truthy.rs                             251                 0   100.00%          16                 0   100.00%         190                 0   100.00%           0                 0         -
rules/unicode_line_breaks.rs                 29                 0   100.00%           5                 0   100.00%          23                 0   100.00%           0                 0         -
yaml_dom/loader.rs                          186                 0   100.00%           6                 0   100.00%         121                 0   100.00%           0                 0         -
yaml_dom/scalar.rs                          142                 0   100.00%          11                 0   100.00%          71                 0   100.00%           0                 0         -
yaml_dom/tag.rs                              23                 0   100.00%           3                 0   100.00%          15                 0   100.00%           0                 0         -
yaml_dom/yaml_owned.rs                       69                 0   100.00%          14                 0   100.00%          53                 0   100.00%           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                     17371                 0   100.00%        1299                 0   100.00%       12234                 0   100.00%           0                 0         -

Missed Lines (per file)

Replaces the stalled #398 refresh, which has been frozen at its 2026-07-19 state
since the bot lost push access.

- Rust 1.96.0 -> 1.97.1 (`rust-toolchain.toml`, `clippy.toml` msrv, AGENTS.md)
- `cargo update`
- `prek autoupdate --cooldown-days 7`: rumdl 0.2.52, ruff 0.16.2, typos 1.49.0,
  zizmor 1.29.0
- Allow the `syn` duplicate: `cargo update` moved the build graph to syn 3.x, but
  synstructure 0.13 still pins syn 2.x and reaches the graph only through the
  `jsonschema` dev-dependency, so `clippy::multiple_crate_versions` fires on a
  duplicate no dependency bump of ours can resolve.
- ruff 0.16's RUF105/RUF106 rewrote one suppression comment.

Rust 1.97 adds nothing this codebase can use: the stabilised APIs are integer
bit-manipulation helpers, and `char::is_control`'s new const-ness is unusable at
our call sites, which all sit in non-const predicates. Clippy under
`msrv = "1.97.1"` reports no modernisation opportunities.
@owenlamont
owenlamont force-pushed the chore/rust-1.97.1-dependency-refresh branch from e6f9cc8 to f8dd707 Compare August 16, 2026 11:34
@owenlamont
owenlamont merged commit ec26acd into main Aug 16, 2026
3 checks passed
@owenlamont
owenlamont deleted the chore/rust-1.97.1-dependency-refresh branch August 16, 2026 11:50
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.

1 participant