use smallvec::{Array, SmallVec};
-impl<A> Encodable for SmallVec<A>
- where A: Array,
- A::Item: Encodable
-{
+impl<A: Array<Item: Encodable>> Encodable for SmallVec<A> {
fn encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error> {
s.emit_seq(self.len(), |s| {
for (i, e) in self.iter().enumerate() {
}
}
-impl<A> Decodable for SmallVec<A>
- where A: Array,
- A::Item: Decodable
-{
+impl<A: Array<Item: Decodable>> Decodable for SmallVec<A> {
fn decode<D: Decoder>(d: &mut D) -> Result<SmallVec<A>, D::Error> {
d.read_seq(|d, len| {
let mut vec = SmallVec::with_capacity(len);
}
impl<K, V, S> Encodable for HashMap<K, V, S>
- where K: Encodable + Hash + Eq,
+ where K: Encodable + Eq,
V: Encodable,
S: BuildHasher,
{
}
impl<T, S> Encodable for HashSet<T, S>
- where T: Encodable + Hash + Eq,
+ where T: Encodable + Eq,
S: BuildHasher,
{
fn encode<E: Encoder>(&self, s: &mut E) -> Result<(), E::Error> {