Rust 1.92 touts deny-by-default never type lints
Briefly

Rust 1.92 touts deny-by-default never type lints
"Also in Rust 1.92, The unused_must_use lint no longer warns on Result<(), UninhabitedType>, or ControlFlow<UninhabitedType, ()>. For instance, it will not warn on Result<(), Infallible>, avoiding the need to check for an error that will never happen. Elsewhere in Rust 1.92, the release team reported, unwind tables are now emitted by default even when -Cpanic=abort is specified, allowing for backtraces to work properly."
"Developers may use -Cforce-unwind-tables=no to explicitly disable unwind tables if necessary. It was also noted that the past few releases brought many changes to the way built-in attributes are processed in the compiler. These updates should improve Rust error messages and warnings for built-in attributes, and will especially make these diagnostics more consistent among all of the more than 100 built-in Rust attributes."
The unused_must_use lint no longer warns on Result<(), UninhabitedType> or ControlFlow<UninhabitedType, ()>. For example, Result<(), Infallible> will not trigger a needless warning, removing checks for impossible errors. Unwind tables are emitted by default even when -Cpanic=abort is specified, restoring proper backtrace functionality. A compiler flag -Cforce-unwind-tables=no allows explicit disabling of unwind tables when required. Built-in attribute processing received multiple changes to improve error messages and warnings and to make diagnostics more consistent across over 100 built-in attributes. Several APIs were stabilized, including Location::file_as_c_str, Rc::new_zeroed, and Arc::new_zeroed_slice.
Read at InfoWorld
Unable to calculate read time
[
|
]