From 4922b24f84cac052cb9ec7b040edd00490e9120f Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Wed, 10 Jul 2024 13:38:29 -0700 Subject: [PATCH] 2024: Add note about never_type_fallback_flowing_into_unsafe lint level. --- src/rust-2024/never-type-fallback.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/rust-2024/never-type-fallback.md b/src/rust-2024/never-type-fallback.md index 36f0648a..768d3d80 100644 --- a/src/rust-2024/never-type-fallback.md +++ b/src/rust-2024/never-type-fallback.md @@ -5,6 +5,9 @@ ## Summary - Never type (`!`) to any type ("never-to-any") coercions fall back to never type (`!`) rather than to unit type (`()`). +- The [`never_type_fallback_flowing_into_unsafe`] lint is now `deny` by default. + +[`never_type_fallback_flowing_into_unsafe`]: ../../rustc/lints/listing/warn-by-default.html#never-type-fallback-flowing-into-unsafe ## Details @@ -54,6 +57,10 @@ In some cases your code might depend on the fallback type being `()`, so this ca [coercion site]: ../../reference/type-coercions.html#coercion-sites +### `never_type_fallback_flowing_into_unsafe` + +The default level of the [`never_type_fallback_flowing_into_unsafe`] lint has been raised from `warn` to `deny` in the 2024 Edition. This lint helps detect a particular interaction with the fallback to `!` and `unsafe` code which may lead to undefined behavior. See the link for a complete description. + ## Migration There is no automatic fix, but there is automatic detection of code that will be broken by the edition change. While still on a previous edition you will see warnings if your code will be broken.