From 5db93c5962fb2fc65c26f2cc9f6875414c43b697 Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Thu, 10 Jan 2019 23:46:36 +0000 Subject: Implement Display for the Error enum --- CHANGELOG.md | 1 + src/error.rs | 11 +++++++++++ 2 files changed, 12 insertions(+) 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 // 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()) -- cgit v1.2.3