Skip to content

chore: update MSRV to Rust 1.95.0 #324

Description

@acgetchell

Summary

Update the minimum supported Rust version (MSRV) from 1.94 to 1.95.0 and adopt relevant new features. Slated for v0.7.6.

Motivation

  • Rust 1.95.0 was released on 2026-04-16
  • la-stack (a dependency) is being upgraded to Rust 1.95.0, so delaunay's declared MSRV of 1.94 would become misleading — Cargo's MSRV-aware resolver would require 1.95 anyway through the dependency chain
  • Several stabilized features are directly useful for this codebase

New Features to Adopt

Language

  • if let guards on match arms (rust-lang/rust#141295) — The codebase has many match arms with nested if let that can be flattened into guard position, improving readability

Stabilized APIs

  • assert_matches! / debug_assert_matches! — Now stable; useful in tests for pattern-matching assertions
  • core::hint::cold_path — Can annotate error/unlikely branches in hot paths for better code layout
  • cfg_select! — Stable replacement for cfg_if!-style conditional compilation patterns

Other

  • bool: TryFrom<{integer}> — May simplify some conversions
  • LLVM 22 update — potential codegen improvements

Tasks

  • Update rust-version in Cargo.toml from "1.94" to "1.95"
  • Update rust-toolchain.toml and CI configuration if applicable
  • Update MSRV references in AGENTS.md and docs/
  • Refactor match arms to use if let guards where it improves clarity
  • Replace manual pattern-matching assertions in tests with assert_matches!
  • Evaluate hot paths for core::hint::cold_path annotation opportunities
  • Run just ci to verify everything passes
  • Coordinate with la-stack MSRV bump

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions