From 11316f041985345dd3a712d14bea749790f937a4 Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Thu, 17 Aug 2023 18:07:32 +0200 Subject: break!: stop abusing Display for Error codes Display impls should return human-readable strings. After this commit we're able to introduce a proper Display impl in the future without that being a breaking change. --- src/error.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/error.rs b/src/error.rs index 390b060..4ff9dfd 100644 --- a/src/error.rs +++ b/src/error.rs @@ -23,12 +23,11 @@ macro_rules! impl_error { } } - impl std::fmt::Display for Error { - /// Convert an enum variant back into the `kebap-case` error code as typically written - /// in the WHATWG spec. - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + impl Error { + /// Returns the `kebap-case` error code as defined in the WHATWG spec. + pub fn code(&self) -> &'static str { match *self { - $( Self::$variant => $string.fmt(f), )* + $( Self::$variant => $string, )* } } } -- cgit v1.2.3