diff --git a/serde2/benches/bench_log.rs b/serde2/benches/bench_log.rs index 851388d9..9722077a 100644 --- a/serde2/benches/bench_log.rs +++ b/serde2/benches/bench_log.rs @@ -68,7 +68,7 @@ impl de::Deserialize for HttpProtocol { fn deserialize< S: Deserializer, >(state: &mut S) -> Result { - state.visit(&mut de::PrimitiveVisitor::new()) + state.visit(de::PrimitiveVisitor::new()) } } @@ -116,7 +116,7 @@ impl de::Deserialize for HttpMethod { fn deserialize< S: de::Deserializer, >(state: &mut S) -> Result { - state.visit(&mut de::PrimitiveVisitor::new()) + state.visit(de::PrimitiveVisitor::new()) } } @@ -157,7 +157,7 @@ impl de::Deserialize for CacheStatus { fn deserialize< S: de::Deserializer, >(state: &mut S) -> Result { - state.visit(&mut de::PrimitiveVisitor::new()) + state.visit(de::PrimitiveVisitor::new()) } } @@ -207,7 +207,7 @@ impl de::Deserialize for OriginProtocol { fn deserialize< S: de::Deserializer, >(state: &mut S) -> Result { - state.visit(&mut de::PrimitiveVisitor::new()) + state.visit(de::PrimitiveVisitor::new()) } } @@ -249,7 +249,7 @@ impl de::Deserialize for ZonePlan { fn deserialize< S: de::Deserializer, >(state: &mut S) -> Result { - state.visit(&mut de::PrimitiveVisitor::new()) + state.visit(de::PrimitiveVisitor::new()) } } @@ -542,7 +542,7 @@ impl de::Deserialize for Country { fn deserialize< S: de::Deserializer, >(state: &mut S) -> Result { - state.visit(&mut de::PrimitiveVisitor::new()) + state.visit(de::PrimitiveVisitor::new()) } } diff --git a/serde2/serde2_macros/src/lib.rs b/serde2/serde2_macros/src/lib.rs index 260f15fa..280a719f 100644 --- a/serde2/serde2_macros/src/lib.rs +++ b/serde2/serde2_macros/src/lib.rs @@ -585,13 +585,13 @@ pub fn expand_derive_deserialize( generics: LifetimeBounds { lifetimes: Vec::new(), bounds: vec![ - ("__S", vec![Path::new(vec!["serde2", "de", "Deserializer"])]), + ("__D", vec![Path::new(vec!["serde2", "de", "Deserializer"])]), ], }, explicit_self: None, args: vec![ Ty::Ptr( - Box::new(Ty::Literal(Path::new_local("__S"))), + Box::new(Ty::Literal(Path::new_local("__D"))), Borrowed(None, MutMutable) ), ], @@ -601,7 +601,7 @@ pub fn expand_derive_deserialize( None, vec![ Box::new(Ty::Self_), - Box::new(Ty::Literal(Path::new_(vec!["__S", "Error"], + Box::new(Ty::Literal(Path::new_(vec!["__D", "Error"], None, vec![], false))), @@ -729,7 +729,7 @@ fn deserialize_struct_empty_fields( } } - $state.visit(&mut __Visitor) + $state.visit(__Visitor) }) } @@ -778,7 +778,7 @@ fn deserialize_struct_unnamed_fields( } } - $state.visit(&mut __Visitor) + $state.visit(__Visitor) }) } @@ -876,7 +876,7 @@ fn deserialize_struct_named_fields( } } - $state.visit(&mut __Visitor) + $state.visit(__Visitor) }) } @@ -986,7 +986,7 @@ fn declare_map_field_deserializer( fn deserialize< __S: ::serde2::de::Deserializer, >(state: &mut __S) -> Result<__Field, __S::Error> { - state.visit(&mut __FieldVisitor) + state.visit(__FieldVisitor) } } ).unwrap(), @@ -1143,7 +1143,7 @@ fn deserialize_enum( } } - $state.visit(&mut __Visitor) + $state.visit(__Visitor) }) } @@ -1193,7 +1193,7 @@ fn deserialize_enum_variant( } } - $state.visit_seq(&mut __Visitor) + $state.visit_seq(__Visitor) }) } } @@ -1241,7 +1241,7 @@ fn deserialize_enum_variant( } } - $state.visit_map(&mut __Visitor) + $state.visit_map(__Visitor) }) } } diff --git a/serde2/src/de.rs b/serde2/src/de.rs index a3f1cf32..5a6a8749 100644 --- a/serde2/src/de.rs +++ b/serde2/src/de.rs @@ -25,7 +25,7 @@ pub trait Deserializer { fn visit< V: Visitor, - >(&mut self, visitor: &mut V) -> Result; + >(&mut self, visitor: V) -> Result; /// The `visit_option` method allows a `Deserialize` type to inform the /// `Deserializer` that it's expecting an optional value. This allows @@ -35,7 +35,7 @@ pub trait Deserializer { #[inline] fn visit_option< V: Visitor, - >(&mut self, visitor: &mut V) -> Result { + >(&mut self, visitor: V) -> Result { self.visit(visitor) } } @@ -264,13 +264,13 @@ pub trait EnumVisitor { fn visit_seq< V: EnumSeqVisitor, - >(&mut self, _visitor: &mut V) -> Result { + >(&mut self, _visitor: V) -> Result { Err(Error::syntax_error()) } fn visit_map< V: EnumMapVisitor, - >(&mut self, _visitor: &mut V) -> Result { + >(&mut self, _visitor: V) -> Result { Err(Error::syntax_error()) } } @@ -315,7 +315,7 @@ impl Deserialize for () { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result<(), D::Error> { - deserializer.visit(&mut UnitVisitor) + deserializer.visit(UnitVisitor) } } @@ -337,7 +337,7 @@ impl Deserialize for bool { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result { - deserializer.visit(&mut BoolVisitor) + deserializer.visit(BoolVisitor) } } @@ -396,7 +396,7 @@ macro_rules! impl_deserialize_num { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result<$ty, D::Error> { - deserializer.visit(&mut PrimitiveVisitor::new()) + deserializer.visit(PrimitiveVisitor::new()) } } } @@ -451,7 +451,7 @@ impl Deserialize for char { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result { - deserializer.visit(&mut CharVisitor) + deserializer.visit(CharVisitor) } } @@ -479,7 +479,7 @@ impl Deserialize for String { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result { - deserializer.visit(&mut StringVisitor) + deserializer.visit(StringVisitor) } } @@ -513,7 +513,7 @@ impl Deserialize for Option where T: Deserialize { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result, D::Error> { - deserializer.visit_option(&mut OptionVisitor { marker: PhantomData }) + deserializer.visit_option(OptionVisitor { marker: PhantomData }) } } @@ -526,6 +526,7 @@ struct VecVisitor { impl Visitor for VecVisitor where T: Deserialize { type Value = Vec; + #[inline] fn visit_seq< V: SeqVisitor, >(&mut self, mut visitor: V) -> Result, V::Error> { @@ -544,7 +545,7 @@ impl Deserialize for Vec { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result, D::Error> { - deserializer.visit(&mut VecVisitor { marker: PhantomData }) + deserializer.visit(VecVisitor { marker: PhantomData }) } } @@ -588,7 +589,7 @@ macro_rules! tuple_impls { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result<($($name,)+), D::Error> { - deserializer.visit(&mut $visitor { marker: PhantomData }) + deserializer.visit($visitor { marker: PhantomData }) } } )+ @@ -644,7 +645,7 @@ impl Deserialize for HashMap fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result, D::Error> { - deserializer.visit(&mut HashMapVisitor { marker: PhantomData }) + deserializer.visit(HashMapVisitor { marker: PhantomData }) } } @@ -681,7 +682,7 @@ impl< fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result, D::Error> { - deserializer.visit(&mut BTreeMapVisitor { marker: PhantomData }) + deserializer.visit(BTreeMapVisitor { marker: PhantomData }) } } @@ -764,7 +765,7 @@ mod tests { fn visit< V: Visitor, - >(&mut self, visitor: &mut V) -> Result { + >(&mut self, mut visitor: V) -> Result { match self.tokens.next() { Some(Token::Bool(v)) => visitor.visit_bool(v), Some(Token::Isize(v)) => visitor.visit_isize(v), @@ -829,7 +830,7 @@ mod tests { #[inline] fn visit_option< V: Visitor, - >(&mut self, visitor: &mut V) -> Result { + >(&mut self, mut visitor: V) -> Result { match self.tokens.peek() { Some(&Token::Option(false)) => { self.tokens.next(); @@ -959,7 +960,7 @@ mod tests { fn visit_seq< V: super::EnumSeqVisitor, - >(&mut self, visitor: &mut V) -> Result { + >(&mut self, mut visitor: V) -> Result { let token = self.de.tokens.next(); match token { Some(Token::SeqStart(len)) => { @@ -982,7 +983,7 @@ mod tests { fn visit_map< V: super::EnumMapVisitor, - >(&mut self, visitor: &mut V) -> Result { + >(&mut self, mut visitor: V) -> Result { match self.de.tokens.next() { Some(Token::MapStart(len)) => { let value = try!(visitor.visit(TokenDeserializerMapVisitor { @@ -1012,7 +1013,7 @@ mod tests { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result { - deserializer.visit(&mut NamedUnitVisitor) + deserializer.visit(NamedUnitVisitor) } } @@ -1054,7 +1055,7 @@ mod tests { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result { - deserializer.visit(&mut NamedSeqVisitor) + deserializer.visit(NamedSeqVisitor) } } @@ -1110,7 +1111,7 @@ mod tests { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result { - deserializer.visit(&mut NamedMapVisitor) + deserializer.visit(NamedMapVisitor) } } @@ -1161,7 +1162,7 @@ mod tests { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result { - deserializer.visit(&mut NamedMapFieldVisitor) + deserializer.visit(NamedMapFieldVisitor) } } @@ -1195,7 +1196,7 @@ mod tests { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result { - deserializer.visit(&mut EnumVisitor) + deserializer.visit(EnumVisitor) } } @@ -1222,8 +1223,8 @@ mod tests { try!(visitor.visit_unit()); Ok(Enum::Unit) } - "Seq" => visitor.visit_seq(&mut EnumSeqVisitor), - "Map" => visitor.visit_map(&mut EnumMapVisitor), + "Seq" => visitor.visit_seq(EnumSeqVisitor), + "Map" => visitor.visit_map(EnumMapVisitor), _ => Err(super::Error::syntax_error()), } } @@ -1295,7 +1296,7 @@ mod tests { fn deserialize< D: Deserializer, >(deserializer: &mut D) -> Result { - deserializer.visit(&mut EnumMapFieldVisitor) + deserializer.visit(EnumMapFieldVisitor) } } diff --git a/serde2/src/json/de.rs b/serde2/src/json/de.rs index 888a1926..3021cd56 100644 --- a/serde2/src/json/de.rs +++ b/serde2/src/json/de.rs @@ -83,7 +83,7 @@ impl> Deserializer { #[inline] fn parse_value< V: de::Visitor, - >(&mut self, visitor: &mut V) -> Result { + >(&mut self, mut visitor: V) -> Result { self.parse_whitespace(); if self.eof() { @@ -142,7 +142,7 @@ impl> Deserializer { #[inline] fn parse_number< V: de::Visitor, - >(&mut self, visitor: &mut V) -> Result { + >(&mut self, mut visitor: V) -> Result { let mut neg = 1; if self.ch_is(b'-') { @@ -389,7 +389,7 @@ impl> de::Deserializer for Deserializer { #[inline] fn visit< V: de::Visitor, - >(&mut self, visitor: &mut V) -> Result { + >(&mut self, visitor: V) -> Result { self.parse_value(visitor) } } diff --git a/serde2/src/json/value.rs b/serde2/src/json/value.rs index 6906544e..ac513a35 100644 --- a/serde2/src/json/value.rs +++ b/serde2/src/json/value.rs @@ -267,7 +267,7 @@ impl de::Deserializer for Deserializer { #[inline] fn visit< V: de::Visitor, - >(&mut self, visitor: &mut V) -> Result { + >(&mut self, mut visitor: V) -> Result { let value = match self.value.take() { Some(value) => value, None => { return Err(de::Error::end_of_stream_error()); } @@ -302,7 +302,7 @@ impl de::Deserializer for Deserializer { #[inline] fn visit_option< V: de::Visitor, - >(&mut self, visitor: &mut V) -> Result { + >(&mut self, mut visitor: V) -> Result { match self.value { Some(Value::Null) => visitor.visit_none(), Some(_) => visitor.visit_some(self), diff --git a/serde2/tests/test_macros.rs b/serde2/tests/test_macros.rs index 2207ed89..dd0c0d92 100644 --- a/serde2/tests/test_macros.rs +++ b/serde2/tests/test_macros.rs @@ -31,4 +31,6 @@ enum Enum<'a, A: 'a, B: /* Trait + */ 'a, C> where C: /* Trait + */ 'a { }, } -fn main() {} +#[test] +fn test() { +}