From e39a9b89b60997dd4d94f817e4658de86867eb5c Mon Sep 17 00:00:00 2001 From: William Bartlett Date: Tue, 22 Jan 2019 22:06:02 +0100 Subject: [PATCH] Create new error kind for invalid boolean values. --- src/de/mod.rs | 2 +- src/error.rs | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/de/mod.rs b/src/de/mod.rs index 240febf..3b83cf3 100644 --- a/src/de/mod.rs +++ b/src/de/mod.rs @@ -240,7 +240,7 @@ impl<'de, 'a, R: Read> de::Deserializer<'de> for &'a mut Deserializer { match s.as_str() { "true" | "1" => visitor.visit_bool(true), "false" | "0" => visitor.visit_bool(false), - _ => Err(ErrorKind::UnexpectedToken( + _ => Err(ErrorKind::InvalidValue( "boolean [true,false,1,0]".into(), format!("{}", s) ).into()), diff --git a/src/error.rs b/src/error.rs index abd8d53..68d980b 100644 --- a/src/error.rs +++ b/src/error.rs @@ -24,6 +24,10 @@ error_chain! { description("unexpected token") display("Expected token {}, found {}", token, found) } + InvalidValue(expected: String, found: String) { + description("invalid value") + display("Expected value {}, found {}", expected, found) + } Custom(field: String) { description("other error") display("custom: '{}'", field)