SIGN IN SIGN UP

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