Auto merge of #155499 - WaffleLapkin:stabilize-never-type, r=JonathanBrouwer
stabilize never type ### This PR - stabilizes the [never type](https://doc.rust-lang.org/stable/std/primitive.never.html) (aka `!`) (!!!) - sets the [never type fallback](https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html) to `!` on all editions (breaking change, see [crater report analysis](https://github.com/rust-lang/rust/pull/155499#issuecomment-4290467341) and [refresher on never type fallback](https://github.com/rust-lang/rust/pull/155499#issuecomment-4290552375)) - makes `Infallible` an alias to `!` - removes `dependency_on_unit_never_type_fallback` lint (there is no more never type fallback to `()` so this lint can't be triggered) ### Cat <img width="1024" height="683" alt="52270233795_5979a3174d_b" src="https://github.com/user-attachments/assets/f6b4737e-32ef-4c33-86b2-76b81673cf20" /> ### Tracking - https://github.com/rust-lang/rust/issues/35121 - https://github.com/rust-lang/rust/issues/148922 ### FCPs - https://github.com/rust-lang/rust/pull/123508#issuecomment-2047918907 (stabilization plan, T-lang) - https://github.com/rust-lang/rust/pull/155499#issuecomment-4666881573 (never type stabilization modulo bugs, T-lang) - https://github.com/rust-lang/rust/issues/155924#issuecomment-4380853742 (make `Infallible = !`, T-libs) ### Related changes - Lint bump: https://github.com/rust-lang/rust/pull/141937 - Rust 2024 edition change: - https://github.com/rust-lang/rust/issues/123748 - https://github.com/rust-lang/rust/pull/123508 - Various changes to lessen the effect of the breaking changes: - https://github.com/rust-lang/rust/pull/157820 - https://github.com/rust-lang/rust/pull/156047 - https://github.com/rust-lang/rust/pull/160705 - Never type documentation changes: https://github.com/rust-lang/rust/pull/158370 (blocked on this pr) ### Experiments - Fallback change and never type stabilization: - Run: https://github.com/rust-lang/rust/pull/155499#issuecomment-4279084886 - Analysis: https://github.com/rust-lang/rust/pull/155499#issuecomment-4290467341 - Status of backports: https://github.com/rust-lang/rust/pull/155499#issuecomment-4400482314 - Fallback change, never type stabilization and making `Infallible = !`: https://github.com/rust-lang/rust/pull/155500 - Fallback change, never type stabilization, making `Infallible = !`, and removing reservation impl: https://github.com/rust-lang/rust/pull/155501 - Never type stabilization and `Infallible = !` change, _without_ fallback change: https://github.com/rust-lang/rust/pull/155657 --- Closes https://github.com/rust-lang/rust/issues/35121 Closes https://github.com/rust-lang/rust/issues/148922
B
bors committed
e7769602aca3770e8d8ea55716becb22e839a579