nginx / nginx/ngx-rust

MSRV policy

Open
#96 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
915
Forks
96
Avg merge
5d 22h
Merged PRs (30d)
6

Description

The MSRV policy of this project is a compromise between getting the necessary Rust features and supporting system toolchains (available from the package manager) in various operating systems.

Current MSRV

1.85.0

Benefits we could get from the recent Rust releases (as per https://releases.rs/)

1.90.0
  • CStr/CString/Cow<CStr> comparisons
1.89.0
  • NonNull::from_ref/NonNull::from_mut
  • CStr::display
  • Allow storing format_args!() in a variable
1.88.0
  • if_let_chains
  • impl Default for * const/mut T
Previous versions
1.85.0
  • 2024 Edition
  • core::task::Waker::noop()
1.84.0
  • strict provenance APIs
1.83.0
  • const_refs_to_static
1.82.0
  • addr_of(_mut)! macros and the newly stabilized &raw (const|mut) are now safe to use with all static items
  • Stabilize &raw const and &raw mut operators
  • Stabilize nested field access in offset_of!
1.81.0
  • error_in_core (could be useful for planned no_std conversion)
1.80.0
  • Stabilize LazyCell
  • Stabilize lots of NonNull methods
1.79.0
  • RHEL 9.5 system toolchain
  • Propagate temporary lifetime extension into if and match expressions.
  • Stabilize <*const T>::is_aligned and <*mut T>::is_aligned
    (I intend to use these for assertions, even though we assumed that everything coming out of ngx_p(c)alloc is sufficiently aligned. Certain Rust types require 16-byte alignment)
  • MSRV-aware cargo add (but not the MSRV-aware resolver)
1.78.0
  • MSRV for wasmtime v26
1.77.0
  • C-string literals
  • cargo:: syntax in the buildscripts
1.76.0
  • Stabilized ptr::{from_ref, from_mut}
1.75.0
  • Stabilize async fn and return-position impl Trait in traits
  • Stabilized mem::zeroed in const contexts
  • Stabilized several pointer arithmetic methods
1.71.0
  • We currently need this to build
1.63.0
  • Debian 12 (stable) system toolchain. Let's not do that.

Rust toolchain versions in various operating systems as of 2026-01-27

system release rustc
RHEL 9.7, 10.1 1.88.0
Debian 12 1.63.0
13 1.85.0, 1.90.0 (trixie-backports)
Ubuntu 22.04,24.04 1.75.0, 1.89.0 (rust-1.89-all)
SLES 15 1.92.0
Alpine 3.21 1.83.0
3.22 1.87.0
3.23 1.91.0
Amazon 2 1.92.0
2023 1.92.0
FreeBSD 13 1.92.0 (quarterly)
OpenBSD 7.8 1.90.0
NetBSD 9 1.90.0
Solaris 11.4.81 CBE 1.78.0

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test entry point is named. Start by reviewing the current MSRV configuration and the listed Rust toolchain versions, then determine which policy change is intended; done requires an agreed MSRV decision and corresponding project updates.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.