message: Fix float NaN pos/neg assumptions
diff: @@ -323,8 +323,8 @@ pub trait Float
  /// ```
  fn signum(self) -> Self;
  - /// Returns `true` if `self` is positive, including `+0.0` and
  - /// `Float::infinity()`.
  + /// Returns `true` if `self` is positive, including `+0.0`,
  + /// `Float::infinity()`, and `f64::NAN` with newer versions of Rust.
  ///
  /// ```
  /// use num_traits::Float;
  @@ -337,27 +337,25 @@ pub trait Float
  ///
  /// assert!(f.is_sign_positive());
  /// assert!(!g.is_sign_positive());
  - /// // Requires both tests to determine if is `NaN`
  - /// assert!(!nan.is_sign_positive() && !nan.is_sign_negative());
  + /// assert!(!nan.is_sign_negative());
  /// ```
  fn is_sign_positive(self) -> bool;
  - /// Returns `true` if `self` is negative, including `-0.0` and
  - /// `Float::neg_infinity()`.
  + /// Returns `true` if `self` is negative, including `-0.0`,
  + /// `Float::neg_infinity()`, and `-f64::NAN` with newer versions of Rust.
  ///
  /// ```
  /// use num_traits::Float;
  /// use std::f64;
  ///
  - /// let nan = f64::NAN;
  + /// let neg_nan: f64 = -f64::NAN;
  ///
  /// let f = 7.0;
  /// let g = -7.0;
  ///
  /// assert!(!f.is_sign_negative());
  /// assert!(g.is_sign_negative());
  - /// // Requires both tests to determine if is `NaN`.
  - /// assert!(!nan.is_sign_positive() && !nan.is_sign_negative());
  + /// assert!(!neg_nan.is_sign_positive());
  /// ```
  fn is_sign_negative(self) -> bool;
  