Rollup merge of #141728 - JonathanBrouwer:fix-docs, r=compiler-errors

Fix false documentation of FnCtxt::diverges

While I was working on another issue I came across this false documentation, and was mislead by it.
Therefore I decided to fix this :)

The newly documented usecase is located here: 38081f22c2/compiler/rustc_hir_typeck/src/fn_ctxt/checks.rs (L1968)
This commit is contained in:
Guillaume Gomez 2025-05-29 17:03:02 +02:00 committed by GitHub
commit 710fa11737
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -81,7 +81,7 @@ pub(crate) struct FnCtxt<'a, 'tcx> {
/// you get indicates whether any subexpression that was
/// evaluating up to and including `X` diverged.
///
/// We currently use this flag only for diagnostic purposes:
/// We currently use this flag for the following purposes:
///
/// - To warn about unreachable code: if, after processing a
/// sub-expression but before we have applied the effects of the
@ -94,6 +94,8 @@ pub(crate) struct FnCtxt<'a, 'tcx> {
/// warning. This corresponds to something like `{return;
/// foo();}` or `{return; 22}`, where we would warn on the
/// `foo()` or `22`.
/// - To assign the `!` type to block expressions with diverging
/// statements.
///
/// An expression represents dead code if, after checking it,
/// the diverges flag is set to something other than `Maybe`.