Pārlūkot izejas kodu

std::fmt::Display implemented for ParseFloatError

svartalf 7 gadi atpakaļ
vecāks
revīzija
53ab360d94
1 mainītis faili ar 12 papildinājumiem un 0 dzēšanām
  1. 12 0
      src/lib.rs

+ 12 - 0
src/lib.rs

@@ -15,6 +15,7 @@
 use std::ops::{Add, Sub, Mul, Div, Rem};
 use std::ops::{AddAssign, SubAssign, MulAssign, DivAssign, RemAssign};
 use std::num::Wrapping;
+use std::fmt;
 
 pub use bounds::Bounded;
 pub use float::{Float, FloatConst};
@@ -163,6 +164,17 @@ pub struct ParseFloatError {
     pub kind: FloatErrorKind,
 }
 
+impl fmt::Display for ParseFloatError {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        let description = match self.kind {
+            FloatErrorKind::Empty => "cannot parse float from empty string",
+            FloatErrorKind::Invalid => "invalid float literal",
+        };
+
+        description.fmt(f)
+    }
+}
+
 // FIXME: The standard library from_str_radix on floats was deprecated, so we're stuck
 // with this implementation ourselves until we want to make a breaking change.
 // (would have to drop it from `Num` though)