aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--src/error.rs11
2 files changed, 12 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c4e1d97..833930d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,7 @@
# Unreleased
- Add the `Password` dialog box.
- Add the `Zenity` backend.
+- Implement `std::fmt::Display` for the `Error` enum.
# v0.1.0 (2019-01-08)
- Initial release with the `Input`, `Message` and `Question` dialog boxes and
diff --git a/src/error.rs b/src/error.rs
index 6e32155..6872382 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -1,6 +1,7 @@
// Copyright (C) 2019 Robin Krahl <robin.krahl@ireas.org>
// SPDX-License-Identifier: MIT
+use std::fmt;
use std::io;
use std::process;
use std::result;
@@ -21,6 +22,16 @@ pub enum Error {
Utf8Error(str::Utf8Error),
}
+impl fmt::Display for Error {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ match *self {
+ Error::Error(ref s) => write!(f, "Error: {}", s),
+ Error::IoError(ref e) => write!(f, "I/O error: {}", e),
+ Error::Utf8Error(ref e) => write!(f, "UTF-8 error: {}", e),
+ }
+ }
+}
+
impl From<&str> for Error {
fn from(string: &str) -> Error {
Error::Error(string.to_string())