diff --git a/src/librustc/lib.rs b/src/librustc/lib.rs index d87fbb01620..90e9973c3f3 100644 --- a/src/librustc/lib.rs +++ b/src/librustc/lib.rs @@ -36,6 +36,7 @@ extern crate rustc_llvm; extern crate rustc_back; extern crate serialize; extern crate rbml; +extern crate collections; #[phase(plugin, link)] extern crate log; #[phase(plugin, link)] extern crate syntax; diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index b349b5ca0bf..0ad07bed7d9 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -77,7 +77,7 @@ use std::hash::{Hash, sip, Writer}; use std::mem; use std::ops; use std::rc::Rc; -use std::collections::enum_set::{EnumSet, CLike}; +use collections::enum_set::{EnumSet, CLike}; use std::collections::hash_map::{HashMap, Occupied, Vacant}; use syntax::abi; use syntax::ast::{CrateNum, DefId, DUMMY_NODE_ID, Ident, ItemTrait, LOCAL_CRATE}; diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs index 5a91298acdf..3d51a6d6ab0 100644 --- a/src/librustdoc/lib.rs +++ b/src/librustdoc/lib.rs @@ -472,7 +472,7 @@ fn json_output(krate: clean::Crate, res: Vec , // "crate": { parsed crate ... }, // "plugins": { output of plugins ... } // } - let mut json = std::collections::TreeMap::new(); + let mut json = std::collections::BTreeMap::new(); json.insert("schema".to_string(), Json::String(SCHEMA_VERSION.to_string())); let plugins_json = res.into_iter() .filter_map(|opt| { diff --git a/src/libserialize/collection_impls.rs b/src/libserialize/collection_impls.rs index 8fb025623d4..f2d79b13346 100644 --- a/src/libserialize/collection_impls.rs +++ b/src/libserialize/collection_impls.rs @@ -15,9 +15,8 @@ use std::default::Default; use std::hash::{Hash, Hasher}; use {Decodable, Encodable, Decoder, Encoder}; -use std::collections::{DList, RingBuf, BTreeMap, BTreeSet, HashMap, HashSet, - TrieMap, TrieSet, VecMap}; -use std::collections::enum_set::{EnumSet, CLike}; +use std::collections::{DList, RingBuf, BTreeMap, BTreeSet, HashMap, HashSet, VecMap}; +use collections::enum_set::{EnumSet, CLike}; impl< E, @@ -98,7 +97,7 @@ impl< K: Decodable + PartialEq + Ord, V: Decodable + PartialEq > Decodable for BTreeMap { - fn decode(d: &mut D) -> Result, E> { + fn decode(d: &mut D) -> Result, E> { d.read_map(|d, len| { let mut map = BTreeMap::new(); for i in range(0u, len) { @@ -133,7 +132,7 @@ impl< D: Decoder, T: Decodable + PartialEq + Ord > Decodable for BTreeSet { - fn decode(d: &mut D) -> Result, E> { + fn decode(d: &mut D) -> Result, E> { d.read_seq(|d, len| { let mut set = BTreeSet::new(); for i in range(0u, len) { @@ -255,63 +254,6 @@ impl< } } -impl< - E, - S: Encoder, - V: Encodable -> Encodable for TrieMap { - fn encode(&self, e: &mut S) -> Result<(), E> { - e.emit_map(self.len(), |e| { - for (i, (key, val)) in self.iter().enumerate() { - try!(e.emit_map_elt_key(i, |e| key.encode(e))); - try!(e.emit_map_elt_val(i, |e| val.encode(e))); - } - Ok(()) - }) - } -} - -impl< - E, - D: Decoder, - V: Decodable -> Decodable for TrieMap { - fn decode(d: &mut D) -> Result, E> { - d.read_map(|d, len| { - let mut map = TrieMap::new(); - for i in range(0u, 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))); - map.insert(key, val); - } - Ok(map) - }) - } -} - -impl> Encodable for TrieSet { - fn encode(&self, s: &mut S) -> Result<(), E> { - s.emit_seq(self.len(), |s| { - for (i, e) in self.iter().enumerate() { - try!(s.emit_seq_elt(i, |s| e.encode(s))); - } - Ok(()) - }) - } -} - -impl> Decodable for TrieSet { - fn decode(d: &mut D) -> Result { - d.read_seq(|d, len| { - let mut set = TrieSet::new(); - for i in range(0u, len) { - set.insert(try!(d.read_seq_elt(i, |d| Decodable::decode(d)))); - } - Ok(set) - }) - } -} - impl< E, S: Encoder, diff --git a/src/libserialize/lib.rs b/src/libserialize/lib.rs index 390b3976562..e700d102fef 100644 --- a/src/libserialize/lib.rs +++ b/src/libserialize/lib.rs @@ -33,6 +33,8 @@ extern crate test; #[phase(plugin, link)] extern crate log; +extern crate collections; + pub use self::serialize::{Decoder, Encoder, Decodable, Encodable, DecoderHelpers, EncoderHelpers}; diff --git a/src/libtest/lib.rs b/src/libtest/lib.rs index 02b266b8fe0..d786409e895 100644 --- a/src/libtest/lib.rs +++ b/src/libtest/lib.rs @@ -49,7 +49,7 @@ use self::NamePadding::*; use self::OutputLocation::*; use std::any::{Any, AnyRefExt}; -use std::collections::TreeMap; +use std::collections::BTreeMap; use stats::Stats; use getopts::{OptGroup, optflag, optopt}; use regex::Regex; @@ -230,7 +230,7 @@ impl Metric { } #[deriving(PartialEq)] -pub struct MetricMap(TreeMap); +pub struct MetricMap(BTreeMap); impl Clone for MetricMap { fn clone(&self) -> MetricMap { @@ -1191,7 +1191,7 @@ fn calc_result(desc: &TestDesc, task_result: Result<(), Box>) -> TestR impl MetricMap { pub fn new() -> MetricMap { - MetricMap(TreeMap::new()) + MetricMap(BTreeMap::new()) } /// Load MetricDiff from a file. diff --git a/src/test/run-pass/send_str_treemap.rs b/src/test/run-pass/send_str_treemap.rs index ee57d01c36d..24480d85272 100644 --- a/src/test/run-pass/send_str_treemap.rs +++ b/src/test/run-pass/send_str_treemap.rs @@ -10,7 +10,7 @@ extern crate collections; -use self::collections::TreeMap; +use self::collections::BTreeMap; use std::option::Option::Some; use std::str::SendStr; use std::string::ToString;