fn encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error> {
s.emit_seq(self.len(), |s| {
for (i, e) in self.iter().enumerate() {
- try!(s.emit_seq_elt(i, |s| e.encode(s)));
+ s.emit_seq_elt(i, |s| e.encode(s))?;
}
Ok(())
})
d.read_seq(|d, len| {
let mut list = LinkedList::new();
for i in 0..len {
- list.push_back(try!(d.read_seq_elt(i, |d| Decodable::decode(d))));
+ list.push_back(d.read_seq_elt(i, |d| Decodable::decode(d))?);
}
Ok(list)
})
fn encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error> {
s.emit_seq(self.len(), |s| {
for (i, e) in self.iter().enumerate() {
- try!(s.emit_seq_elt(i, |s| e.encode(s)));
+ s.emit_seq_elt(i, |s| e.encode(s))?;
}
Ok(())
})
d.read_seq(|d, len| {
let mut deque: VecDeque<T> = VecDeque::new();
for i in 0..len {
- deque.push_back(try!(d.read_seq_elt(i, |d| Decodable::decode(d))));
+ deque.push_back(d.read_seq_elt(i, |d| Decodable::decode(d))?);
}
Ok(deque)
})
e.emit_map(self.len(), |e| {
let mut i = 0;
for (key, val) in self {
- try!(e.emit_map_elt_key(i, |e| key.encode(e)));
- try!(e.emit_map_elt_val(i, |e| val.encode(e)));
+ e.emit_map_elt_key(i, |e| key.encode(e))?;
+ e.emit_map_elt_val(i, |e| val.encode(e))?;
i += 1;
}
Ok(())
d.read_map(|d, len| {
let mut map = BTreeMap::new();
for i in 0..len {
- let key = try!(d.read_map_elt_key(i, |d| Decodable::decode(d)));
- let val = try!(d.read_map_elt_val(i, |d| Decodable::decode(d)));
+ let key = d.read_map_elt_key(i, |d| Decodable::decode(d))?;
+ let val = d.read_map_elt_val(i, |d| Decodable::decode(d))?;
map.insert(key, val);
}
Ok(map)
s.emit_seq(self.len(), |s| {
let mut i = 0;
for e in self {
- try!(s.emit_seq_elt(i, |s| e.encode(s)));
+ s.emit_seq_elt(i, |s| e.encode(s))?;
i += 1;
}
Ok(())
d.read_seq(|d, len| {
let mut set = BTreeSet::new();
for i in 0..len {
- set.insert(try!(d.read_seq_elt(i, |d| Decodable::decode(d))));
+ set.insert(d.read_seq_elt(i, |d| Decodable::decode(d))?);
}
Ok(set)
})
T: Decodable + CLike
> Decodable for EnumSet<T> {
fn decode<D: Decoder>(d: &mut D) -> Result<EnumSet<T>, D::Error> {
- let bits = try!(d.read_uint());
+ let bits = d.read_uint()?;
let mut set = EnumSet::new();
for bit in 0..(mem::size_of::<usize>()*8) {
if bits & (1 << bit) != 0 {
e.emit_map(self.len(), |e| {
let mut i = 0;
for (key, val) in self {
- try!(e.emit_map_elt_key(i, |e| key.encode(e)));
- try!(e.emit_map_elt_val(i, |e| val.encode(e)));
+ e.emit_map_elt_key(i, |e| key.encode(e))?;
+ e.emit_map_elt_val(i, |e| val.encode(e))?;
i += 1;
}
Ok(())
let state = Default::default();
let mut map = HashMap::with_capacity_and_hasher(len, state);
for i in 0..len {
- let key = try!(d.read_map_elt_key(i, |d| Decodable::decode(d)));
- let val = try!(d.read_map_elt_val(i, |d| Decodable::decode(d)));
+ let key = d.read_map_elt_key(i, |d| Decodable::decode(d))?;
+ let val = d.read_map_elt_val(i, |d| Decodable::decode(d))?;
map.insert(key, val);
}
Ok(map)
s.emit_seq(self.len(), |s| {
let mut i = 0;
for e in self {
- try!(s.emit_seq_elt(i, |s| e.encode(s)));
+ s.emit_seq_elt(i, |s| e.encode(s))?;
i += 1;
}
Ok(())
let state = Default::default();
let mut set = HashSet::with_capacity_and_hasher(len, state);
for i in 0..len {
- set.insert(try!(d.read_seq_elt(i, |d| Decodable::decode(d))));
+ set.insert(d.read_seq_elt(i, |d| Decodable::decode(d))?);
}
Ok(set)
})