mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-04-22 06:48:00 +00:00
change error handlers to be mutable
This commit is contained in:
+5
-5
@@ -231,27 +231,27 @@ mod deserializer {
|
||||
|
||||
impl de::Deserializer<Error> for AnimalDeserializer {
|
||||
#[inline]
|
||||
fn end_of_stream_error(&self) -> Error {
|
||||
fn end_of_stream_error(&mut self) -> Error {
|
||||
EndOfStream
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn syntax_error(&self, _token: de::Token, _expected: &[de::TokenKind]) -> Error {
|
||||
fn syntax_error(&mut self, _token: de::Token, _expected: &[de::TokenKind]) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn missing_field_error(&self, _field: &'static str) -> Error {
|
||||
fn missing_field_error(&mut self, _field: &'static str) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn unexpected_name_error(&self, _token: de::Token) -> Error {
|
||||
fn unexpected_name_error(&mut self, _token: de::Token) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn conversion_error(&self, _token: de::Token) -> Error {
|
||||
fn conversion_error(&mut self, _token: de::Token) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -227,27 +227,27 @@ mod deserializer {
|
||||
|
||||
impl de::Deserializer<Error> for IntDeserializer {
|
||||
#[inline]
|
||||
fn end_of_stream_error(&self) -> Error {
|
||||
fn end_of_stream_error(&mut self) -> Error {
|
||||
EndOfStream
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn syntax_error(&self, _token: de::Token, _expected: &[de::TokenKind]) -> Error {
|
||||
fn syntax_error(&mut self, _token: de::Token, _expected: &[de::TokenKind]) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn missing_field_error(&self, _field: &'static str) -> Error {
|
||||
fn missing_field_error(&mut self, _field: &'static str) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn unexpected_name_error(&self, _token: de::Token) -> Error {
|
||||
fn unexpected_name_error(&mut self, _token: de::Token) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn conversion_error(&self, _token: de::Token) -> Error {
|
||||
fn conversion_error(&mut self, _token: de::Token) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -351,27 +351,27 @@ mod deserializer {
|
||||
|
||||
impl de::Deserializer<Error> for OuterDeserializer {
|
||||
#[inline]
|
||||
fn end_of_stream_error(&self) -> Error {
|
||||
fn end_of_stream_error(&mut self) -> Error {
|
||||
EndOfStream
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn syntax_error(&self, _token: de::Token, _expected: &[de::TokenKind]) -> Error {
|
||||
fn syntax_error(&mut self, _token: de::Token, _expected: &[de::TokenKind]) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn missing_field_error(&self, _field: &'static str) -> Error {
|
||||
fn missing_field_error(&mut self, _field: &'static str) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn unexpected_name_error(&self, _token: de::Token) -> Error {
|
||||
fn unexpected_name_error(&mut self, _token: de::Token) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn conversion_error(&self, _token: de::Token) -> Error {
|
||||
fn conversion_error(&mut self, _token: de::Token) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -295,27 +295,27 @@ mod deserializer {
|
||||
|
||||
impl de::Deserializer<Error> for IntDeserializer {
|
||||
#[inline]
|
||||
fn end_of_stream_error(&self) -> Error {
|
||||
fn end_of_stream_error(&mut self) -> Error {
|
||||
EndOfStream
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn syntax_error(&self, _token: de::Token, _expected: &[de::TokenKind]) -> Error {
|
||||
fn syntax_error(&mut self, _token: de::Token, _expected: &[de::TokenKind]) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn missing_field_error(&self, _field: &'static str) -> Error {
|
||||
fn missing_field_error(&mut self, _field: &'static str) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn unexpected_name_error(&self, _token: de::Token) -> Error {
|
||||
fn unexpected_name_error(&mut self, _token: de::Token) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn conversion_error(&self, _token: de::Token) -> Error {
|
||||
fn conversion_error(&mut self, _token: de::Token) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
}
|
||||
@@ -365,27 +365,27 @@ mod deserializer {
|
||||
|
||||
impl de::Deserializer<Error> for U8Deserializer {
|
||||
#[inline]
|
||||
fn end_of_stream_error(&self) -> Error {
|
||||
fn end_of_stream_error(&mut self) -> Error {
|
||||
EndOfStream
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn syntax_error(&self, _token: de::Token, _expected: &[de::TokenKind]) -> Error {
|
||||
fn syntax_error(&mut self, _token: de::Token, _expected: &[de::TokenKind]) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn missing_field_error(&self, _field: &'static str) -> Error {
|
||||
fn missing_field_error(&mut self, _field: &'static str) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn unexpected_name_error(&self, _token: de::Token) -> Error {
|
||||
fn unexpected_name_error(&mut self, _token: de::Token) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn conversion_error(&self, _token: de::Token) -> Error {
|
||||
fn conversion_error(&mut self, _token: de::Token) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,15 +176,22 @@ macro_rules! to_result {
|
||||
}
|
||||
|
||||
pub trait Deserializer<E>: Iterator<Result<Token, E>> {
|
||||
fn end_of_stream_error(&self) -> E;
|
||||
/// Called when a `Deserializable` expected more tokens, but the
|
||||
/// `Deserializer` was empty.
|
||||
fn end_of_stream_error(&mut self) -> E;
|
||||
|
||||
fn syntax_error(&self, token: Token, expected: &[TokenKind]) -> E;
|
||||
/// Called when a `Deserializer` was unable to properly parse the stream.
|
||||
fn syntax_error(&mut self, token: Token, expected: &[TokenKind]) -> E;
|
||||
|
||||
fn unexpected_name_error(&self, token: Token) -> E;
|
||||
/// Called when a named structure or enum got a name that it didn't expect.
|
||||
fn unexpected_name_error(&mut self, token: Token) -> E;
|
||||
|
||||
fn conversion_error(&self, token: Token) -> E;
|
||||
/// Called when a value was unable to be coerced into another value.
|
||||
fn conversion_error(&mut self, token: Token) -> E;
|
||||
|
||||
fn missing_field_error(&self, field: &'static str) -> E;
|
||||
/// Called when a `Deserializable` structure did not deserialize a field
|
||||
/// named `field`.
|
||||
fn missing_field_error(&mut self, field: &'static str) -> E;
|
||||
|
||||
#[inline]
|
||||
fn expect_token(&mut self) -> Result<Token, E> {
|
||||
@@ -1132,23 +1139,23 @@ mod tests {
|
||||
}
|
||||
|
||||
impl<Iter: Iterator<Token>> Deserializer<Error> for TokenDeserializer<Iter> {
|
||||
fn end_of_stream_error(&self) -> Error {
|
||||
fn end_of_stream_error(&mut self) -> Error {
|
||||
EndOfStream
|
||||
}
|
||||
|
||||
fn syntax_error(&self, _token: Token, _expected: &[TokenKind]) -> Error {
|
||||
fn syntax_error(&mut self, _token: Token, _expected: &[TokenKind]) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
fn unexpected_name_error(&self, _token: Token) -> Error {
|
||||
fn unexpected_name_error(&mut self, _token: Token) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
fn conversion_error(&self, _token: Token) -> Error {
|
||||
fn conversion_error(&mut self, _token: Token) -> Error {
|
||||
SyntaxError
|
||||
}
|
||||
|
||||
fn missing_field_error(&self, _field: &'static str) -> Error {
|
||||
fn missing_field_error(&mut self, _field: &'static str) -> Error {
|
||||
IncompleteValue
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -647,23 +647,23 @@ impl Iterator<Result<de::Token, ParserError>> for JsonDeserializer {
|
||||
}
|
||||
|
||||
impl de::Deserializer<ParserError> for JsonDeserializer {
|
||||
fn end_of_stream_error(&self) -> ParserError {
|
||||
fn end_of_stream_error(&mut self) -> ParserError {
|
||||
SyntaxError(EOFWhileParsingValue, 0, 0)
|
||||
}
|
||||
|
||||
fn syntax_error(&self, _token: de::Token, _expected: &[de::TokenKind]) -> ParserError {
|
||||
fn syntax_error(&mut self, _token: de::Token, _expected: &[de::TokenKind]) -> ParserError {
|
||||
SyntaxError(InvalidSyntax, 0, 0)
|
||||
}
|
||||
|
||||
fn unexpected_name_error(&self, _token: de::Token) -> ParserError {
|
||||
fn unexpected_name_error(&mut self, _token: de::Token) -> ParserError {
|
||||
SyntaxError(InvalidSyntax, 0, 0)
|
||||
}
|
||||
|
||||
fn conversion_error(&self, _token: de::Token) -> ParserError {
|
||||
fn conversion_error(&mut self, _token: de::Token) -> ParserError {
|
||||
SyntaxError(InvalidSyntax, 0, 0)
|
||||
}
|
||||
|
||||
fn missing_field_error(&self, field: &'static str) -> ParserError {
|
||||
fn missing_field_error(&mut self, field: &'static str) -> ParserError {
|
||||
SyntaxError(MissingField(field), 0, 0)
|
||||
}
|
||||
|
||||
@@ -2023,23 +2023,23 @@ impl<T: Iterator<char>> Parser<T> {
|
||||
}
|
||||
|
||||
impl<T: Iterator<char>> de::Deserializer<ParserError> for Parser<T> {
|
||||
fn end_of_stream_error(&self) -> ParserError {
|
||||
fn end_of_stream_error(&mut self) -> ParserError {
|
||||
SyntaxError(EOFWhileParsingValue, self.line, self.col)
|
||||
}
|
||||
|
||||
fn syntax_error(&self, _token: de::Token, _expected: &[de::TokenKind]) -> ParserError {
|
||||
fn syntax_error(&mut self, _token: de::Token, _expected: &[de::TokenKind]) -> ParserError {
|
||||
SyntaxError(InvalidSyntax, self.line, self.col)
|
||||
}
|
||||
|
||||
fn unexpected_name_error(&self, _token: de::Token) -> ParserError {
|
||||
fn unexpected_name_error(&mut self, _token: de::Token) -> ParserError {
|
||||
SyntaxError(InvalidSyntax, self.line, self.col)
|
||||
}
|
||||
|
||||
fn conversion_error(&self, _token: de::Token) -> ParserError {
|
||||
fn conversion_error(&mut self, _token: de::Token) -> ParserError {
|
||||
SyntaxError(InvalidSyntax, self.line, self.col)
|
||||
}
|
||||
|
||||
fn missing_field_error(&self, field: &'static str) -> ParserError {
|
||||
fn missing_field_error(&mut self, field: &'static str) -> ParserError {
|
||||
SyntaxError(MissingField(field), self.line, self.col)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user