about summary refs log tree commit diff
path: root/src/libextra
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-08-06 07:05:05 -0700
committerbors <bors@rust-lang.org>2013-08-06 07:05:05 -0700
commitba3d03d3a4836aa5776ca8c4cb0e9982b00f516b (patch)
tree1b40b593aa1bf52293523896332982766244c0c4 /src/libextra
parentca6385034c1ca269b0b797fa039d485f7f413959 (diff)
parent991648d099be6f004668280873f9a2c85a949eaf (diff)
downloadrust-ba3d03d3a4836aa5776ca8c4cb0e9982b00f516b.tar.gz
rust-ba3d03d3a4836aa5776ca8c4cb0e9982b00f516b.zip
auto merge of #8312 : alexcrichton/rust/use-treemap, r=erickt
Closes #4430
Diffstat (limited to 'src/libextra')
-rw-r--r--src/libextra/json.rs19
1 files changed, 1 insertions, 18 deletions
diff --git a/src/libextra/json.rs b/src/libextra/json.rs
index cd35cbdf309..ec9cb902d3d 100644
--- a/src/libextra/json.rs
+++ b/src/libextra/json.rs
@@ -26,7 +26,6 @@ use std::to_str;
 
 use serialize::Encodable;
 use serialize;
-use sort::Sort;
 use treemap::TreeMap;
 
 /// Represents a json value
@@ -1152,23 +1151,7 @@ impl Ord for Json {
             Object(ref d0) => {
                 match *other {
                     Number(_) | String(_) | Boolean(_) | List(_) => false,
-                    Object(ref d1) => {
-                        let mut d0_flat = ~[];
-                        let mut d1_flat = ~[];
-
-                        // FIXME #4430: this is horribly inefficient...
-                        for (k, v) in d0.iter() {
-                             d0_flat.push((@(*k).clone(), @(*v).clone()));
-                        }
-                        d0_flat.qsort();
-
-                        for (k, v) in d1.iter() {
-                            d1_flat.push((@(*k).clone(), @(*v).clone()));
-                        }
-                        d1_flat.qsort();
-
-                        d0_flat < d1_flat
-                    }
+                    Object(ref d1) => d0 < d1,
                     Null => true
                 }
             }