std::fmt::Display implemented for ParseFloatError

This commit is contained in:
svartalf 2018-01-04 16:46:02 +03:00
parent 42a610d323
commit 53ab360d94
1 changed files with 12 additions and 0 deletions

View File

@ -15,6 +15,7 @@
use std::ops::{Add, Sub, Mul, Div, Rem}; use std::ops::{Add, Sub, Mul, Div, Rem};
use std::ops::{AddAssign, SubAssign, MulAssign, DivAssign, RemAssign}; use std::ops::{AddAssign, SubAssign, MulAssign, DivAssign, RemAssign};
use std::num::Wrapping; use std::num::Wrapping;
use std::fmt;
pub use bounds::Bounded; pub use bounds::Bounded;
pub use float::{Float, FloatConst}; pub use float::{Float, FloatConst};
@ -163,6 +164,17 @@ pub struct ParseFloatError {
pub kind: FloatErrorKind, 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 // 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. // with this implementation ourselves until we want to make a breaking change.
// (would have to drop it from `Num` though) // (would have to drop it from `Num` though)