diff --git a/de.rs b/de.rs index f66e8648..6bf272b6 100644 --- a/de.rs +++ b/de.rs @@ -2,7 +2,7 @@ extern crate collections; use std::hash::Hash; use std::num; -use collections::HashMap; +use collections::{HashMap, TreeMap}; #[deriving(Clone, Eq)] pub enum Token { @@ -413,6 +413,21 @@ impl< } } +impl< + E, + D: Deserializer, + K: Deserializable + Eq + TotalOrd, + V: Deserializable +> Deserializable for TreeMap { + #[inline] + fn deserialize_token(d: &mut D, token: Token) -> Result, E> { + let _len = try!(d.expect_map_start(token)); + let mut value = TreeMap::new(); + + deserialize_map!(value) + } +} + ////////////////////////////////////////////////////////////////////////////// impl<