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
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
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 chainNew Features to Adopt
Language
if letguards on match arms (rust-lang/rust#141295) — The codebase has many match arms with nestedif letthat can be flattened into guard position, improving readabilityStabilized APIs
assert_matches!/debug_assert_matches!— Now stable; useful in tests for pattern-matching assertionscore::hint::cold_path— Can annotate error/unlikely branches in hot paths for better code layoutcfg_select!— Stable replacement forcfg_if!-style conditional compilation patternsOther
bool: TryFrom<{integer}>— May simplify some conversionsTasks
rust-versioninCargo.tomlfrom"1.94"to"1.95"rust-toolchain.tomland CI configuration if applicableAGENTS.mdanddocs/if letguards where it improves clarityassert_matches!core::hint::cold_pathannotation opportunitiesjust cito verify everything passesla-stackMSRV bump