Opened 8 months ago
Closed 8 months ago
#20209 closed enhancement (fixed)
rustc-1.80.1
Reported by: | Bruce Dubbs | Owned by: | Xi Ruoyao |
---|---|---|---|
Priority: | normal | Milestone: | 12.2 |
Component: | BOOK | Version: | git |
Severity: | normal | Keywords: | |
Cc: |
Description ¶
New point version.
Change History (4)
comment:1 by , 8 months ago
comment:2 by , 8 months ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
Summary: | rustc-1.80,1 → rustc-1.80.1 |
comment:3 by , 8 months ago
Fixed r12.1-1430-g8213da3ac0. I've not done a full rebuild of Mozilla etc because it's very unlikely such a patch release could break things.
comment:4 by , 8 months ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.
Rust 1.80.1 fixes two regressions that were recently reported.
Miscompilation when comparing floats
In addition to the existing optimizations performed by LLVM, rustc is growing its own set of optimizations. Rust 1.78.0 added a new one, implementing "jump threading" (merging together two adjacent branches that perform the same comparison).
The optimization was also enabled on branches checking for floating point equality, but it didn't implement the special rules needed for floats comparison (
NaN != NaN
and0.0 == -0.0
). This caused the optimization to miscompile code performing those checks.Rust 1.80.1 addresses the problem by preventing the optimization from being applied to float comparisons, while retaining the optimization on other supported types.
False positives in the
dead_code
lintRust 1.80.0 contained refactorings to the
dead_code
lint. We received multiple reports that the new lint implementation produces false positives, so we are reverting the changes in Rust 1.80.1. We'll continue to experiment on how to improve the accuracy ofdead_code
in future releases.