From 53ab360d94b5e8dec26fe698246e64f81ab60ca3 Mon Sep 17 00:00:00 2001 From: svartalf Date: Thu, 4 Jan 2018 16:46:02 +0300 Subject: [PATCH] std::fmt::Display implemented for ParseFloatError --- src/lib.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 253f236..c71c4e4 100644 --- a/src/lib.rs +++ b/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)