Merge pull request #993 from Manishearth/rustup

Rustup to *rustc 1.11.0-nightly (763f9234b 2016-06-06)*
This commit is contained in:
llogiq 2016-06-08 12:32:36 +02:00
commit 94cc344b07
4 changed files with 27 additions and 4 deletions

View File

@ -1,6 +1,9 @@
# Change Log
All notable changes to this project will be documented in this file.
## 0.0.75 — 2016-06-08
* Rustup to *rustc 1.11.0-nightly (763f9234b 2016-06-06)*
## 0.0.74 — 2016-06-07
* Fix bug with `cargo-clippy` JSON parsing
* Add the `CLIPPY_DISABLE_WIKI_LINKS` environment variable to deactivate the

View File

@ -1,6 +1,6 @@
[package]
name = "clippy"
version = "0.0.74"
version = "0.0.75"
authors = [
"Manish Goregaokar <manishsmail@gmail.com>",
"Andre Bogus <bogusandre@gmail.com>",
@ -30,7 +30,7 @@ toml = "0.1"
unicode-normalization = "0.1"
quine-mc_cluskey = "0.2.2"
# begin automatic update
clippy_lints = { version = "0.0.74", path = "clippy_lints" }
clippy_lints = { version = "0.0.75", path = "clippy_lints" }
# end automatic update
rustc-serialize = "0.3"

View File

@ -1,7 +1,7 @@
[package]
name = "clippy_lints"
# begin automatic update
version = "0.0.74"
version = "0.0.75"
# end automatic update
authors = [
"Manish Goregaokar <manishsmail@gmail.com>",

View File

@ -6,6 +6,7 @@ use rustc::middle::const_val::ConstVal;
use rustc::ty;
use rustc_const_eval::EvalHint::ExprTypeChecked;
use rustc_const_eval::eval_const_expr_partial;
use rustc_const_math::ConstFloat;
use syntax::codemap::{Span, Spanned, ExpnFormat};
use syntax::ptr::P;
use utils::{
@ -182,7 +183,26 @@ impl LateLintPass for FloatCmp {
fn is_allowed(cx: &LateContext, expr: &Expr) -> bool {
let res = eval_const_expr_partial(cx.tcx, expr, ExprTypeChecked, None);
if let Ok(ConstVal::Float(val)) = res {
val == 0.0 || val == ::std::f64::INFINITY || val == ::std::f64::NEG_INFINITY
use std::cmp::Ordering;
let zero = ConstFloat::FInfer {
f32: 0.0,
f64: 0.0,
};
let infinity = ConstFloat::FInfer {
f32: ::std::f32::INFINITY,
f64: ::std::f64::INFINITY,
};
let neg_infinity = ConstFloat::FInfer {
f32: ::std::f32::NEG_INFINITY,
f64: ::std::f64::NEG_INFINITY,
};
val.try_cmp(zero) == Ok(Ordering::Equal)
|| val.try_cmp(infinity) == Ok(Ordering::Equal)
|| val.try_cmp(neg_infinity) == Ok(Ordering::Equal)
} else {
false
}