about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2025-05-29 17:03:02 +0200
committerGitHub <noreply@github.com>2025-05-29 17:03:02 +0200
commit710fa117373554609e0bbdc26585fba329a4f675 (patch)
tree8eb3a65bb2f43fd27a04955c77c648ea09aab056
parent5f6f23ad6a6c7580fa7ade8709413aa2d6643e66 (diff)
parent8e5d57902fdf167cf97c1cbd7a4dab1115874a7b (diff)
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: https://github.com/rust-lang/rust/blob/38081f22c2d7380f272aa1d7fa9b935637701c2d/compiler/rustc_hir_typeck/src/fn_ctxt/checks.rs#L1968
-rw-r--r--compiler/rustc_hir_typeck/src/fn_ctxt/mod.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/rustc_hir_typeck/src/fn_ctxt/mod.rs b/compiler/rustc_hir_typeck/src/fn_ctxt/mod.rs
index cfb25deac0e..a5c0829b8d9 100644
--- a/compiler/rustc_hir_typeck/src/fn_ctxt/mod.rs
+++ b/compiler/rustc_hir_typeck/src/fn_ctxt/mod.rs
@@ -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`.