Merge ser::Serializer and ser::Visitor

This commit is contained in:
Erick Tryzelaar
2015-03-11 11:05:46 -07:00
parent fbd6d1974a
commit 3f62b6d2bf
6 changed files with 179 additions and 225 deletions
+31 -31
View File
@@ -56,10 +56,10 @@ impl rustc_serialize::Decodable for HttpProtocol {
impl ser::Serialize for HttpProtocol {
#[inline]
fn visit<
V: ser::Visitor,
>(&self, visitor: &mut V) -> Result<(), V::Error> {
visitor.visit_u8(*self as u8)
fn visit<S>(&self, serializer: &mut S) -> Result<(), S::Error>
where S: ser::Serializer,
{
serializer.visit_u8(*self as u8)
}
}
@@ -104,10 +104,10 @@ impl rustc_serialize::Decodable for HttpMethod {
impl ser::Serialize for HttpMethod {
#[inline]
fn visit<
V: ser::Visitor,
>(&self, visitor: &mut V) -> Result<(), V::Error> {
visitor.visit_u8(*self as u8)
fn visit<S>(&self, serializer: &mut S) -> Result<(), S::Error>
where S: ser::Serializer,
{
serializer.visit_u8(*self as u8)
}
}
@@ -145,10 +145,10 @@ impl rustc_serialize::Decodable for CacheStatus {
impl ser::Serialize for CacheStatus {
#[inline]
fn visit<
V: ser::Visitor,
>(&self, visitor: &mut V) -> Result<(), V::Error> {
visitor.visit_u8(*self as u8)
fn visit<S>(&self, serializer: &mut S) -> Result<(), S::Error>
where S: ser::Serializer,
{
serializer.visit_u8(*self as u8)
}
}
@@ -195,10 +195,10 @@ impl rustc_serialize::Decodable for OriginProtocol {
impl ser::Serialize for OriginProtocol {
#[inline]
fn visit<
V: ser::Visitor,
>(&self, visitor: &mut V) -> Result<(), V::Error> {
visitor.visit_u8(*self as u8)
fn visit<S>(&self, serializer: &mut S) -> Result<(), S::Error>
where S: ser::Serializer,
{
serializer.visit_u8(*self as u8)
}
}
@@ -237,10 +237,10 @@ impl rustc_serialize::Decodable for ZonePlan {
impl ser::Serialize for ZonePlan {
#[inline]
fn visit<
V: ser::Visitor,
>(&self, visitor: &mut V) -> Result<(), V::Error> {
visitor.visit_u8(*self as u8)
fn visit<S>(&self, serializer: &mut S) -> Result<(), S::Error>
where S: ser::Serializer,
{
serializer.visit_u8(*self as u8)
}
}
@@ -530,10 +530,10 @@ impl rustc_serialize::Decodable for Country {
impl ser::Serialize for Country {
#[inline]
fn visit<
V: ser::Visitor,
>(&self, visitor: &mut V) -> Result<(), V::Error> {
visitor.visit_u8(*self as u8)
fn visit<S>(&self, serializer: &mut S) -> Result<(), S::Error>
where S: ser::Serializer,
{
serializer.visit_u8(*self as u8)
}
}
@@ -757,7 +757,7 @@ fn test_serializer_vec() {
let log = Log::new();
let wr = Vec::with_capacity(1024);
let mut serializer = json::Serializer::new(wr);
serializer.visit(&log).unwrap();
log.visit(&mut serializer).unwrap();
let json = serializer.into_inner();
assert_eq!(&json, &JSON_STR.as_bytes());
@@ -775,7 +775,7 @@ fn bench_serializer_vec(b: &mut Bencher) {
wr.clear();
let mut serializer = json::Serializer::new(wr.by_ref());
serializer.visit(&log).unwrap();
log.visit(&mut serializer).unwrap();
let _json = serializer.into_inner();
});
}
@@ -793,7 +793,7 @@ fn bench_serializer_slice(b: &mut Bencher) {
let mut wr = &mut buf[..];
let mut serializer = json::Serializer::new(wr.by_ref());
serializer.visit(&log).unwrap();
log.visit(&mut serializer).unwrap();
let _json = serializer.into_inner();
});
}
@@ -806,7 +806,7 @@ fn test_serializer_my_mem_writer0() {
{
let mut serializer = json::Serializer::new(wr.by_ref());
serializer.visit(&log).unwrap();
log.visit(&mut serializer).unwrap();
let _json = serializer.into_inner();
}
@@ -825,7 +825,7 @@ fn bench_serializer_my_mem_writer0(b: &mut Bencher) {
wr.buf.clear();
let mut serializer = json::Serializer::new(wr.by_ref());
serializer.visit(&log).unwrap();
log.visit(&mut serializer).unwrap();
let _json = serializer.into_inner();
});
}
@@ -838,7 +838,7 @@ fn test_serializer_my_mem_writer1() {
{
let mut serializer = json::Serializer::new(wr.by_ref());
serializer.visit(&log).unwrap();
log.visit(&mut serializer).unwrap();
let _json = serializer.into_inner();
}
@@ -857,7 +857,7 @@ fn bench_serializer_my_mem_writer1(b: &mut Bencher) {
wr.buf.clear();
let mut serializer = json::Serializer::new(wr.by_ref());
serializer.visit(&log).unwrap();
log.visit(&mut serializer).unwrap();
let _json = serializer.into_inner();
});
}