about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaybe Waffle <waffle.lapkin@gmail.com>2024-04-05 17:57:27 +0000
committerWaffle Lapkin <waffle.lapkin@gmail.com>2024-05-17 15:01:43 +0200
commit31a88794a0c2e1e066dbbab66dae60f8d9e19bcd (patch)
tree2393f93bf610745083ae43e0403a1f50a838d80e
parent47334d2184eb88139cea6dffdf794a00e215030c (diff)
downloadrust-31a88794a0c2e1e066dbbab66dae60f8d9e19bcd.tar.gz
rust-31a88794a0c2e1e066dbbab66dae60f8d9e19bcd.zip
Edition 2024: Make `!` fallback to `!`
-rw-r--r--compiler/rustc_hir_typeck/src/fn_ctxt/mod.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/rustc_hir_typeck/src/fn_ctxt/mod.rs b/compiler/rustc_hir_typeck/src/fn_ctxt/mod.rs
index 2a2c4ac10b2..10d832f9726 100644
--- a/compiler/rustc_hir_typeck/src/fn_ctxt/mod.rs
+++ b/compiler/rustc_hir_typeck/src/fn_ctxt/mod.rs
@@ -392,6 +392,11 @@ fn never_type_behavior(tcx: TyCtxt<'_>) -> (DivergingFallbackBehavior, Diverging
 fn default_fallback(tcx: TyCtxt<'_>) -> DivergingFallbackBehavior {
     use DivergingFallbackBehavior::*;
 
+    // Edition 2024: fallback to `!`
+    if tcx.sess.edition().at_least_rust_2024() {
+        return FallbackToNever;
+    }
+
     // `feature(never_type_fallback)`: fallback to `!` or `()` trying to not break stuff
     if tcx.features().never_type_fallback {
         return FallbackToNiko;