Skip to content

Tracking issue for promoting ! to a type (RFC 1216) #35121

Open
@nikomatsakis

Description

@nikomatsakis

Tracking issue for rust-lang/rfcs#1216, which promotes ! to a type.

About tracking issues

Tracking issues are used to record the overall progress of implementation. They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions. A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature. Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.

Pending issues to resolve

Interesting events and links

Latest Status

#35121 (comment):

The plan, as FCPed here, is to:

  1. Change fallback to ! in Rust 2024 (details of this elided as this work is done).
  2. Stabilize Rust 2024.
  3. At a later date when 2024 edition adoption is widespread:
    • Make the breaking change to fall back to ! always everywhere.
    • Change Infallible = !.
    • Stabilize ! (!).

Rust 2024 is expected to be released in Q1 2025. We're not sure how long step 3 will take after that.

See the draft edition guide chapter for further background here:

https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html

Metadata

Metadata

Assignees

Labels

A-type-systemArea: Type systemB-RFC-approvedBlocker: Approved by a merged RFC but not yet implemented.B-unstableBlocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCF-never_type`#![feature(never_type)]`Libs-TrackedLibs issues that are tracked on the team's project board.S-tracking-needs-to-bakeStatus: The implementation is "complete" but it needs time to bake.T-langRelevant to the language team, which will review and decide on the PR/issue.T-typesRelevant to the types team, which will review and decide on the PR/issue.

Type

No type

Projects

Status

Idea

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions