Skip to content

Update to Rust 1.95 - #252

Open
emilk wants to merge 3 commits into
mainfrom
emilk/rust-1.95-and-lints
Open

Update to Rust 1.95#252
emilk wants to merge 3 commits into
mainfrom
emilk/rust-1.95-and-lints

Conversation

@emilk

@emilk emilk commented Aug 3, 2026

Copy link
Copy Markdown
Owner
  • Bump toolchain, MSRV and CI to Rust 1.95.0
  • Enable the workspace lints that are enabled in the main egui repo but were missing here (unexpected_cfgs, rustdoc::broken_intra_doc_links, and 14 clippy lints)
  • Rename clippy::empty_enum -> clippy::empty_enums (renamed upstream)

Only clippy::ref_option had hits. Fixing it changes PlotItem::on_hover's label_formatter parameter from &Option<LabelFormatter<'_>> to Option<&LabelFormatterFn<'_>>, so LabelFormatterFn is now public. Breaking for anyone implementing PlotItem manually.

Lints that are stricter here than in egui (e.g. expect_used, too_many_lines, wildcard_imports) were left as-is.

./scripts/check.sh passes.

  • I have followed the instructions in the PR template

🤖 Generated with Claude Code

Bump MSRV and toolchain to 1.95, and enable the workspace lints that
are enabled in the main egui repo but were missing here.

`clippy::ref_option` required changing `&Option<LabelFormatter<'_>>` to
`Option<&LabelFormatterFn<'_>>` in `PlotItem::on_hover`, which means
`LabelFormatterFn` is now public.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

View snapshot changes at kitdiff

@emilk emilk added the include in changelog This change will be included in the changelog label Aug 3, 2026
@emilk
emilk marked this pull request as ready for review August 3, 2026 08:03
emilk and others added 2 commits August 3, 2026 10:12
* `cargo update -p crossbeam-epoch` fixes RUSTSEC-2026-0204.
* Ignore RUSTSEC-2026-0192 (`ttf-parser` unmaintained) and
  RUSTSEC-2026-0194/0195 (`quick-xml` DoS). All three come in via
  `eframe`, which is only a dev-dependency, and only on Linux, and none
  can be upgraded without upstream doing so first.
* Drop the ignore for RUSTSEC-2024-0436, since `paste` is no longer in
  our dependency tree at all (cargo-deny warned about this).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* `slice::array_windows` (1.94) replaces `windows(2)` in `Line`, so the
  pairs are destructured instead of indexed.
* `f32::consts::GOLDEN_RATIO` (1.94) replaces two hand-rolled
  `(5.0_f32.sqrt() - 1.0) / 2.0`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@emilk emilk changed the title Update to Rust 1.95 and sync lints with the egui repo Update to Rust 1.95 Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

include in changelog This change will be included in the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant