mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-05-06 11:27:56 +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 {
|
impl de::Deserializer<Error> for AnimalDeserializer {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn end_of_stream_error(&self) -> Error {
|
fn end_of_stream_error(&mut self) -> Error {
|
||||||
EndOfStream
|
EndOfStream
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[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
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn missing_field_error(&self, _field: &'static str) -> Error {
|
fn missing_field_error(&mut self, _field: &'static str) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn unexpected_name_error(&self, _token: de::Token) -> Error {
|
fn unexpected_name_error(&mut self, _token: de::Token) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn conversion_error(&self, _token: de::Token) -> Error {
|
fn conversion_error(&mut self, _token: de::Token) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-5
@@ -227,27 +227,27 @@ mod deserializer {
|
|||||||
|
|
||||||
impl de::Deserializer<Error> for IntDeserializer {
|
impl de::Deserializer<Error> for IntDeserializer {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn end_of_stream_error(&self) -> Error {
|
fn end_of_stream_error(&mut self) -> Error {
|
||||||
EndOfStream
|
EndOfStream
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[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
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn missing_field_error(&self, _field: &'static str) -> Error {
|
fn missing_field_error(&mut self, _field: &'static str) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn unexpected_name_error(&self, _token: de::Token) -> Error {
|
fn unexpected_name_error(&mut self, _token: de::Token) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn conversion_error(&self, _token: de::Token) -> Error {
|
fn conversion_error(&mut self, _token: de::Token) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-5
@@ -351,27 +351,27 @@ mod deserializer {
|
|||||||
|
|
||||||
impl de::Deserializer<Error> for OuterDeserializer {
|
impl de::Deserializer<Error> for OuterDeserializer {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn end_of_stream_error(&self) -> Error {
|
fn end_of_stream_error(&mut self) -> Error {
|
||||||
EndOfStream
|
EndOfStream
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[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
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn missing_field_error(&self, _field: &'static str) -> Error {
|
fn missing_field_error(&mut self, _field: &'static str) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn unexpected_name_error(&self, _token: de::Token) -> Error {
|
fn unexpected_name_error(&mut self, _token: de::Token) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn conversion_error(&self, _token: de::Token) -> Error {
|
fn conversion_error(&mut self, _token: de::Token) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-10
@@ -295,27 +295,27 @@ mod deserializer {
|
|||||||
|
|
||||||
impl de::Deserializer<Error> for IntDeserializer {
|
impl de::Deserializer<Error> for IntDeserializer {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn end_of_stream_error(&self) -> Error {
|
fn end_of_stream_error(&mut self) -> Error {
|
||||||
EndOfStream
|
EndOfStream
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[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
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn missing_field_error(&self, _field: &'static str) -> Error {
|
fn missing_field_error(&mut self, _field: &'static str) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn unexpected_name_error(&self, _token: de::Token) -> Error {
|
fn unexpected_name_error(&mut self, _token: de::Token) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn conversion_error(&self, _token: de::Token) -> Error {
|
fn conversion_error(&mut self, _token: de::Token) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -365,27 +365,27 @@ mod deserializer {
|
|||||||
|
|
||||||
impl de::Deserializer<Error> for U8Deserializer {
|
impl de::Deserializer<Error> for U8Deserializer {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn end_of_stream_error(&self) -> Error {
|
fn end_of_stream_error(&mut self) -> Error {
|
||||||
EndOfStream
|
EndOfStream
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[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
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn missing_field_error(&self, _field: &'static str) -> Error {
|
fn missing_field_error(&mut self, _field: &'static str) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn unexpected_name_error(&self, _token: de::Token) -> Error {
|
fn unexpected_name_error(&mut self, _token: de::Token) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn conversion_error(&self, _token: de::Token) -> Error {
|
fn conversion_error(&mut self, _token: de::Token) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -176,15 +176,22 @@ macro_rules! to_result {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub trait Deserializer<E>: Iterator<Result<Token, E>> {
|
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]
|
#[inline]
|
||||||
fn expect_token(&mut self) -> Result<Token, E> {
|
fn expect_token(&mut self) -> Result<Token, E> {
|
||||||
@@ -1132,23 +1139,23 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl<Iter: Iterator<Token>> Deserializer<Error> for TokenDeserializer<Iter> {
|
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
|
EndOfStream
|
||||||
}
|
}
|
||||||
|
|
||||||
fn syntax_error(&self, _token: Token, _expected: &[TokenKind]) -> Error {
|
fn syntax_error(&mut self, _token: Token, _expected: &[TokenKind]) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
fn unexpected_name_error(&self, _token: Token) -> Error {
|
fn unexpected_name_error(&mut self, _token: Token) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
fn conversion_error(&self, _token: Token) -> Error {
|
fn conversion_error(&mut self, _token: Token) -> Error {
|
||||||
SyntaxError
|
SyntaxError
|
||||||
}
|
}
|
||||||
|
|
||||||
fn missing_field_error(&self, _field: &'static str) -> Error {
|
fn missing_field_error(&mut self, _field: &'static str) -> Error {
|
||||||
IncompleteValue
|
IncompleteValue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-10
@@ -647,23 +647,23 @@ impl Iterator<Result<de::Token, ParserError>> for JsonDeserializer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl de::Deserializer<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)
|
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)
|
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)
|
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)
|
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)
|
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> {
|
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)
|
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)
|
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)
|
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)
|
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)
|
SyntaxError(MissingField(field), self.line, self.col)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user