Skip to content

Update never-type-fallback for never type stabilization - #384

Merged
traviscross merged 1 commit into
rust-lang:masterfrom
ehuss:never-fallback-stabilization
Aug 25, 2026
Merged

traviscross merged 1 commit into
rust-lang:masterfrom
ehuss:never-fallback-stabilization

Conversation

@ehuss

@ehuss ehuss commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

This updates for the never type stabilization proposed in rust-lang/rust#155499.

cc @WaffleLapkin

This is a draft because the version number will need to be updated.

Comment on lines +5 to +12
> [!NOTE]
> The changes previously documented in this chapter are no longer edition-specific as of Rust CURRENT_RUSTC_VERSION.
>
> Never type (`!`) to any type ("never-to-any") coercions now fall back to never type (`!`) rather than to unit type (`()`) on all editions.
>
> The `dependency_on_unit_never_type_fallback` lint, which handled the migration, has also been removed.
>
> The description of "never-to-any" coercions below is kept for informational purposes.

@WaffleLapkin WaffleLapkin Jun 12, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to leave the rest of the document as-is, instead only mentioning here that it applies only to Rust < CURRENT_RUSTC_VERSION?

View changes since the review

@rustbot

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-author Status: Waiting on the PR author label Aug 18, 2026
@ehuss
ehuss force-pushed the never-fallback-stabilization branch from f796c48 to c540ad6 Compare August 18, 2026 20:08
@ehuss
ehuss force-pushed the never-fallback-stabilization branch from c540ad6 to 08bd176 Compare August 25, 2026 19:48
@ehuss
ehuss marked this pull request as ready for review August 25, 2026 19:48
@rustbot rustbot added the S-waiting-on-review Status: The marked PR is awaiting some action (such as code changes) from the PR author label Aug 25, 2026
@traviscross
traviscross added this pull request to the merge queue Aug 25, 2026
@traviscross

Copy link
Copy Markdown
Contributor

Thanks @ehuss. Thanks @WaffleLapkin.

Merged via the queue into rust-lang:master with commit ab8544a Aug 25, 2026
2 checks passed
@rustbot rustbot removed the S-waiting-on-review Status: The marked PR is awaiting some action (such as code changes) from the PR author label Aug 25, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Sep 8, 2026
Update books

## rust-lang/book

1 commits in 917544888a55e4da7109bdba8c88c893c0da70f4..1500248d8f230566e4ec9f27fcbb8fe9e2898ab1
2026-09-02 16:04:34 UTC to 2026-09-02 16:04:34 UTC

- Update to Rust 1.98 (rust-lang/book#4823)

## rust-lang/edition-guide

1 commits in f5abcf137698e5ad6ebed359d69654ff705346af..ab8544aeed7b792984366aa122ac19bd47ad9a2f
2026-08-25 19:50:54 UTC to 2026-08-25 19:50:54 UTC

- Update never-type-fallback for never type stabilization (rust-lang/edition-guide#384)

## rust-lang/reference

12 commits in 3b38834b39f732c64686f7c64aa29dcf3cd83ba5..e24eecf97b0c9a6dbac67191098204dc8a190aaa
2026-09-02 04:25:27 UTC to 2026-08-25 07:52:18 UTC

- Fix nested block comment grammar (rust-lang/reference#2348)
- dangling pointers: turn some consequences of the definition into notes (rust-lang/reference#2336)
- Fix the nightly grammar validation job (rust-lang/reference#2347)
- Order grammar summary deterministically (rust-lang/reference#2346)
- Remove leftover `types/textual.md` file (rust-lang/reference#2345)
- Fix non-leaf rules with bodies (rust-lang/reference#2344)
- Fix rule IDs not following the header hierarchy (rust-lang/reference#2343)
- Fix heading level of the `verbatim` modifier section (rust-lang/reference#2342)
- Fix `...diagnostics.deprecated...` rule ID (rust-lang/reference#2341)
- Update for stabilization of the never type (rust-lang/reference#2283)
- Add missing punctuation (rust-lang/reference#2339)
- Fix field-less `repr(C)` enum docs (rust-lang/reference#2018)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Sep 8, 2026
Update books

## rust-lang/book

1 commits in 917544888a55e4da7109bdba8c88c893c0da70f4..1500248d8f230566e4ec9f27fcbb8fe9e2898ab1
2026-09-02 16:04:34 UTC to 2026-09-02 16:04:34 UTC

- Update to Rust 1.98 (rust-lang/book#4823)

## rust-lang/edition-guide

1 commits in f5abcf137698e5ad6ebed359d69654ff705346af..ab8544aeed7b792984366aa122ac19bd47ad9a2f
2026-08-25 19:50:54 UTC to 2026-08-25 19:50:54 UTC

- Update never-type-fallback for never type stabilization (rust-lang/edition-guide#384)

## rust-lang/reference

12 commits in 3b38834b39f732c64686f7c64aa29dcf3cd83ba5..e24eecf97b0c9a6dbac67191098204dc8a190aaa
2026-09-02 04:25:27 UTC to 2026-08-25 07:52:18 UTC

- Fix nested block comment grammar (rust-lang/reference#2348)
- dangling pointers: turn some consequences of the definition into notes (rust-lang/reference#2336)
- Fix the nightly grammar validation job (rust-lang/reference#2347)
- Order grammar summary deterministically (rust-lang/reference#2346)
- Remove leftover `types/textual.md` file (rust-lang/reference#2345)
- Fix non-leaf rules with bodies (rust-lang/reference#2344)
- Fix rule IDs not following the header hierarchy (rust-lang/reference#2343)
- Fix heading level of the `verbatim` modifier section (rust-lang/reference#2342)
- Fix `...diagnostics.deprecated...` rule ID (rust-lang/reference#2341)
- Update for stabilization of the never type (rust-lang/reference#2283)
- Add missing punctuation (rust-lang/reference#2339)
- Fix field-less `repr(C)` enum docs (rust-lang/reference#2018)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Sep 8, 2026
Update books

## rust-lang/book

1 commits in 917544888a55e4da7109bdba8c88c893c0da70f4..1500248d8f230566e4ec9f27fcbb8fe9e2898ab1
2026-09-02 16:04:34 UTC to 2026-09-02 16:04:34 UTC

- Update to Rust 1.98 (rust-lang/book#4823)

## rust-lang/edition-guide

1 commits in f5abcf137698e5ad6ebed359d69654ff705346af..ab8544aeed7b792984366aa122ac19bd47ad9a2f
2026-08-25 19:50:54 UTC to 2026-08-25 19:50:54 UTC

- Update never-type-fallback for never type stabilization (rust-lang/edition-guide#384)

## rust-lang/reference

12 commits in 3b38834b39f732c64686f7c64aa29dcf3cd83ba5..e24eecf97b0c9a6dbac67191098204dc8a190aaa
2026-09-02 04:25:27 UTC to 2026-08-25 07:52:18 UTC

- Fix nested block comment grammar (rust-lang/reference#2348)
- dangling pointers: turn some consequences of the definition into notes (rust-lang/reference#2336)
- Fix the nightly grammar validation job (rust-lang/reference#2347)
- Order grammar summary deterministically (rust-lang/reference#2346)
- Remove leftover `types/textual.md` file (rust-lang/reference#2345)
- Fix non-leaf rules with bodies (rust-lang/reference#2344)
- Fix rule IDs not following the header hierarchy (rust-lang/reference#2343)
- Fix heading level of the `verbatim` modifier section (rust-lang/reference#2342)
- Fix `...diagnostics.deprecated...` rule ID (rust-lang/reference#2341)
- Update for stabilization of the never type (rust-lang/reference#2283)
- Add missing punctuation (rust-lang/reference#2339)
- Fix field-less `repr(C)` enum docs (rust-lang/reference#2018)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Sep 8, 2026
Update books

## rust-lang/book

1 commits in 917544888a55e4da7109bdba8c88c893c0da70f4..1500248d8f230566e4ec9f27fcbb8fe9e2898ab1
2026-09-02 16:04:34 UTC to 2026-09-02 16:04:34 UTC

- Update to Rust 1.98 (rust-lang/book#4823)

## rust-lang/edition-guide

1 commits in f5abcf137698e5ad6ebed359d69654ff705346af..ab8544aeed7b792984366aa122ac19bd47ad9a2f
2026-08-25 19:50:54 UTC to 2026-08-25 19:50:54 UTC

- Update never-type-fallback for never type stabilization (rust-lang/edition-guide#384)

## rust-lang/reference

12 commits in 3b38834b39f732c64686f7c64aa29dcf3cd83ba5..e24eecf97b0c9a6dbac67191098204dc8a190aaa
2026-09-02 04:25:27 UTC to 2026-08-25 07:52:18 UTC

- Fix nested block comment grammar (rust-lang/reference#2348)
- dangling pointers: turn some consequences of the definition into notes (rust-lang/reference#2336)
- Fix the nightly grammar validation job (rust-lang/reference#2347)
- Order grammar summary deterministically (rust-lang/reference#2346)
- Remove leftover `types/textual.md` file (rust-lang/reference#2345)
- Fix non-leaf rules with bodies (rust-lang/reference#2344)
- Fix rule IDs not following the header hierarchy (rust-lang/reference#2343)
- Fix heading level of the `verbatim` modifier section (rust-lang/reference#2342)
- Fix `...diagnostics.deprecated...` rule ID (rust-lang/reference#2341)
- Update for stabilization of the never type (rust-lang/reference#2283)
- Add missing punctuation (rust-lang/reference#2339)
- Fix field-less `repr(C)` enum docs (rust-lang/reference#2018)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Sep 8, 2026
Update books

## rust-lang/book

1 commits in 917544888a55e4da7109bdba8c88c893c0da70f4..1500248d8f230566e4ec9f27fcbb8fe9e2898ab1
2026-09-02 16:04:34 UTC to 2026-09-02 16:04:34 UTC

- Update to Rust 1.98 (rust-lang/book#4823)

## rust-lang/edition-guide

1 commits in f5abcf137698e5ad6ebed359d69654ff705346af..ab8544aeed7b792984366aa122ac19bd47ad9a2f
2026-08-25 19:50:54 UTC to 2026-08-25 19:50:54 UTC

- Update never-type-fallback for never type stabilization (rust-lang/edition-guide#384)

## rust-lang/reference

12 commits in 3b38834b39f732c64686f7c64aa29dcf3cd83ba5..e24eecf97b0c9a6dbac67191098204dc8a190aaa
2026-09-02 04:25:27 UTC to 2026-08-25 07:52:18 UTC

- Fix nested block comment grammar (rust-lang/reference#2348)
- dangling pointers: turn some consequences of the definition into notes (rust-lang/reference#2336)
- Fix the nightly grammar validation job (rust-lang/reference#2347)
- Order grammar summary deterministically (rust-lang/reference#2346)
- Remove leftover `types/textual.md` file (rust-lang/reference#2345)
- Fix non-leaf rules with bodies (rust-lang/reference#2344)
- Fix rule IDs not following the header hierarchy (rust-lang/reference#2343)
- Fix heading level of the `verbatim` modifier section (rust-lang/reference#2342)
- Fix `...diagnostics.deprecated...` rule ID (rust-lang/reference#2341)
- Update for stabilization of the never type (rust-lang/reference#2283)
- Add missing punctuation (rust-lang/reference#2339)
- Fix field-less `repr(C)` enum docs (rust-lang/reference#2018)
rust-bors Bot pushed a commit to rust-lang/rust that referenced this pull request Sep 8, 2026
Rollup merge of #162439 - rustbot:docs-update, r=traviscross

Update books

## rust-lang/book

1 commits in 917544888a55e4da7109bdba8c88c893c0da70f4..1500248d8f230566e4ec9f27fcbb8fe9e2898ab1
2026-09-02 16:04:34 UTC to 2026-09-02 16:04:34 UTC

- Update to Rust 1.98 (rust-lang/book#4823)

## rust-lang/edition-guide

1 commits in f5abcf137698e5ad6ebed359d69654ff705346af..ab8544aeed7b792984366aa122ac19bd47ad9a2f
2026-08-25 19:50:54 UTC to 2026-08-25 19:50:54 UTC

- Update never-type-fallback for never type stabilization (rust-lang/edition-guide#384)

## rust-lang/reference

12 commits in 3b38834b39f732c64686f7c64aa29dcf3cd83ba5..e24eecf97b0c9a6dbac67191098204dc8a190aaa
2026-09-02 04:25:27 UTC to 2026-08-25 07:52:18 UTC

- Fix nested block comment grammar (rust-lang/reference#2348)
- dangling pointers: turn some consequences of the definition into notes (rust-lang/reference#2336)
- Fix the nightly grammar validation job (rust-lang/reference#2347)
- Order grammar summary deterministically (rust-lang/reference#2346)
- Remove leftover `types/textual.md` file (rust-lang/reference#2345)
- Fix non-leaf rules with bodies (rust-lang/reference#2344)
- Fix rule IDs not following the header hierarchy (rust-lang/reference#2343)
- Fix heading level of the `verbatim` modifier section (rust-lang/reference#2342)
- Fix `...diagnostics.deprecated...` rule ID (rust-lang/reference#2341)
- Update for stabilization of the never type (rust-lang/reference#2283)
- Add missing punctuation (rust-lang/reference#2339)
- Fix field-less `repr(C)` enum docs (rust-lang/reference#2018)
github-actions Bot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Sep 14, 2026
Update books

## rust-lang/book

1 commits in 917544888a55e4da7109bdba8c88c893c0da70f4..1500248d8f230566e4ec9f27fcbb8fe9e2898ab1
2026-09-02 16:04:34 UTC to 2026-09-02 16:04:34 UTC

- Update to Rust 1.98 (rust-lang/book#4823)

## rust-lang/edition-guide

1 commits in f5abcf137698e5ad6ebed359d69654ff705346af..ab8544aeed7b792984366aa122ac19bd47ad9a2f
2026-08-25 19:50:54 UTC to 2026-08-25 19:50:54 UTC

- Update never-type-fallback for never type stabilization (rust-lang/edition-guide#384)

## rust-lang/reference

12 commits in 3b38834b39f732c64686f7c64aa29dcf3cd83ba5..e24eecf97b0c9a6dbac67191098204dc8a190aaa
2026-09-02 04:25:27 UTC to 2026-08-25 07:52:18 UTC

- Fix nested block comment grammar (rust-lang/reference#2348)
- dangling pointers: turn some consequences of the definition into notes (rust-lang/reference#2336)
- Fix the nightly grammar validation job (rust-lang/reference#2347)
- Order grammar summary deterministically (rust-lang/reference#2346)
- Remove leftover `types/textual.md` file (rust-lang/reference#2345)
- Fix non-leaf rules with bodies (rust-lang/reference#2344)
- Fix rule IDs not following the header hierarchy (rust-lang/reference#2343)
- Fix heading level of the `verbatim` modifier section (rust-lang/reference#2342)
- Fix `...diagnostics.deprecated...` rule ID (rust-lang/reference#2341)
- Update for stabilization of the never type (rust-lang/reference#2283)
- Add missing punctuation (rust-lang/reference#2339)
- Fix field-less `repr(C)` enum docs (rust-lang/reference#2018)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-author Status: Waiting on the PR author

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants