Skip to content
This repository was archived by the owner on Dec 1, 2023. It is now read-only.

Commit 392b17b

Browse files
committed
Remove Encodable/Decodable support for unstable types
When `Box<[T]>` and `VecMap` are `#[stable]` to construct the implementations can be added back, but the goal is currently for this crate to build on stable rust so they are going to be removed for now.
1 parent c66eba1 commit 392b17b

File tree

2 files changed

+1
-33
lines changed

2 files changed

+1
-33
lines changed

src/collection_impls.rs

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
use std::hash::Hash;
1414

1515
use {Decodable, Encodable, Decoder, Encoder};
16-
use std::collections::{LinkedList, VecDeque, BTreeMap, BTreeSet, HashMap, HashSet, VecMap};
16+
use std::collections::{LinkedList, VecDeque, BTreeMap, BTreeSet, HashMap, HashSet};
1717

1818
impl<
1919
T: Encodable
@@ -184,28 +184,3 @@ impl<T> Decodable for HashSet<T> where T: Decodable + Hash + Eq, {
184184
})
185185
}
186186
}
187-
impl<V: Encodable> Encodable for VecMap<V> {
188-
fn encode<S: Encoder>(&self, e: &mut S) -> Result<(), S::Error> {
189-
e.emit_map(self.len(), |e| {
190-
for (i, (key, val)) in self.iter().enumerate() {
191-
try!(e.emit_map_elt_key(i, |e| key.encode(e)));
192-
try!(e.emit_map_elt_val(i, |e| val.encode(e)));
193-
}
194-
Ok(())
195-
})
196-
}
197-
}
198-
199-
impl<V: Decodable> Decodable for VecMap<V> {
200-
fn decode<D: Decoder>(d: &mut D) -> Result<VecMap<V>, D::Error> {
201-
d.read_map(|d, len| {
202-
let mut map = VecMap::new();
203-
for i in 0..len {
204-
let key = try!(d.read_map_elt_key(i, |d| Decodable::decode(d)));
205-
let val = try!(d.read_map_elt_val(i, |d| Decodable::decode(d)));
206-
map.insert(key, val);
207-
}
208-
Ok(map)
209-
})
210-
}
211-
}

src/serialize.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -415,13 +415,6 @@ impl< T: Decodable> Decodable for Box<T> {
415415
}
416416
}
417417

418-
impl< T: Decodable> Decodable for Box<[T]> {
419-
fn decode<D: Decoder>(d: &mut D) -> Result<Box<[T]>, D::Error> {
420-
let v: Vec<T> = try!(Decodable::decode(d));
421-
Ok(v.into_boxed_slice())
422-
}
423-
}
424-
425418
impl<T:Encodable> Encodable for Rc<T> {
426419
#[inline]
427420
fn encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error> {

0 commit comments

Comments
 (0)