You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
llogiq opened this issue
Oct 8, 2015
· 3 comments
· Fixed by #9617
Labels
A-lintArea: New lintsE-mediumCall for participation: Medium difficulty level problem and requires some initial experience.T-middleType: Probably requires verifiying types
As far as I know, 0.0/0.0, -0/0, 0/-0, -0/-0 and just about every float operation that has at least one NaN operand, e.g.
let z = foo();
let x = 0/-0;
let y = x + 1 * z - 3;
y as isize; //~ERROR: Casting a known NaN value to an integral type.
So this involves keeping track of known NaNs. It's similar to what consts does (complete with path chasing), but we don't need the whole expression to be constant, one NaN is sufficient.
llogiq
added
E-medium
Call for participation: Medium difficulty level problem and requires some initial experience.
T-middle
Type: Probably requires verifiying types
A-lint
Area: New lints
labels
Oct 10, 2015
A-lintArea: New lintsE-mediumCall for participation: Medium difficulty level problem and requires some initial experience.T-middleType: Probably requires verifiying types
This is actually undefined behavior, and doesn't even get a warning from rustc.
The text was updated successfully, but these errors were encountered: