The following changes are included: - Delete per-file license notices at the top of each file. - Delete the first paragraph of LICENSE-MIT (an inaccurate pseudo-copyright line), leaving only the text of the MIT license. Nothing about the license of Serde code has changed, only our understanding of how to correctly communicate that license has changed. This mirrors an equivalent change being applied in the rust-lang/rust repository.
44 lines
759 B
Rust
44 lines
759 B
Rust
use std::error;
|
|
use std::fmt::{self, Display};
|
|
|
|
use serde::{de, ser};
|
|
|
|
#[derive(Clone, Debug)]
|
|
pub struct Error {
|
|
msg: String,
|
|
}
|
|
|
|
impl ser::Error for Error {
|
|
fn custom<T: Display>(msg: T) -> Self {
|
|
Error {
|
|
msg: msg.to_string(),
|
|
}
|
|
}
|
|
}
|
|
|
|
impl de::Error for Error {
|
|
fn custom<T: Display>(msg: T) -> Self {
|
|
Error {
|
|
msg: msg.to_string(),
|
|
}
|
|
}
|
|
}
|
|
|
|
impl fmt::Display for Error {
|
|
fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
|
formatter.write_str(&self.msg)
|
|
}
|
|
}
|
|
|
|
impl error::Error for Error {
|
|
fn description(&self) -> &str {
|
|
&self.msg
|
|
}
|
|
}
|
|
|
|
impl PartialEq<str> for Error {
|
|
fn eq(&self, other: &str) -> bool {
|
|
self.msg == other
|
|
}
|
|
}
|