Floating-point semantics are hard, in particular the NaN part, but this should describe them accurately -- except on x86-32, for more than one reason.
We still need to officially decide that those are our intended semantics though. rust-lang/rust#73328 tracks that on the rustc side.
Historic info
There are several ways in which our de-facto FP semantics currently are broken:
I'm adding this here because figuring out the semantics of Rust is part of the goal of the UCG (I think?) and we should have an overarching "FP semantics" tracker somewhere.
Floating-point semantics are hard, in particular the NaN part, but this should describe them accurately -- except on x86-32, for more than one reason.
We still need to officially decide that those are our intended semantics though. rust-lang/rust#73328 tracks that on the rustc side.
Historic info
There are several ways in which our de-facto FP semantics currently are broken:
NaNs rust#73328, which is a meta-issue. Specific issues: Wrong signs on division producing NaN rust#55131 (on all platforms)I'm adding this here because figuring out the semantics of Rust is part of the goal of the UCG (I think?) and we should have an overarching "FP semantics" tracker somewhere.