Tracking issue for promoting !
to a type (RFC 1216) · Issue #35121 · rust-lang/rust (original) (raw)
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
- Regressions from fallback to
()
without fallback, never type introduces regressions #67225 - How to handle fallback of diverging expressions Tracking issue for fallback of diverging expressions to the never_type (!) #65992
Interesting events and links
- Initial PR Implement the ! type #35162
- Stabilization PR Stabilize ! in Rust 1.41.0 #65355
- Reverting stabilization Revert stabilization of never type #67224 due to regressions Regression in Error conversion from Infallible #66757
Latest Status
The plan, as FCPed here, is to:
- Change fallback to
!
in Rust 2024 (details of this elided as this work is done).
- Stabilize Rust 2024.
- 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