Skip to content

Rustup is going to break in 2026 #2129

@carols10cents

Description

@carols10cents

Problem

A clone of Alex Crichton just time-travelled back from the year 2026 to tell me to file this issue (they can't file the issue themselves or they risk causing a paradox).

They said we just released 1.100.0, and everyone was all excited, but as soon as it was released, everyone was all sad because this happened:

rustup toolchain install 1.100.0
error: invalid toolchain name: '1.100.0'

Everyone expected rustup to download and install the 1.100.0 version, but instead they got this error message, despite the version being released.

Steps

  1. Wait until 2026
  2. Release 1.100.0
  3. rustup toolchain install 1.100.0

Possible Solution(s)

One of the Alex Crichton clones in 2026 was able to quickly track down the issue to this regex:

rustup/src/dist/dist.rs

Lines 285 to 286 in 9309d66

r"\d{1}\.\d{1}\.\d{1}",
r"\d{1}\.\d{2}\.\d{1}",

Is there a reason we can't change these two regexen to \d+\.\d+\.\d+ to be future-proof into 2130 and also support the unfortunate case that we might need to release 10 patch versions in a cycle?

I have not yet been visited by any clones from any alternate futures in which we make this fix, so it seems fine.

Notes

Output of rustup --version: The Alex Crichton clone didn't want to reveal any more information than absolutely necessary to avoid polluting the timeline
Output of rustup show: ditto

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions