about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMathijs van de Nes <git@mathijs.vd-nes.nl>2015-04-16 12:14:45 +0200
committerSteve Klabnik <steve@steveklabnik.com>2015-04-16 22:23:37 -0400
commit32956cb565e0be79e37f09707a6f028a70e04ccb (patch)
treef97cd4bd18cfe8eebeef2185700cffeff64f665e
parente12671b4d7ba8015c0d713bb61c21afdbce9e1d1 (diff)
Use BTreeMap in build_sidebar_items
This ensures that later when generating HTML, the JSON will be sorted aswell.
We now have a deterministic build of sidebar-items.js
-rw-r--r--src/librustdoc/html/render.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs
index f87a86eb3a6..250ec34edf7 100644
--- a/src/librustdoc/html/render.rs
+++ b/src/librustdoc/html/render.rs
@@ -37,7 +37,7 @@ pub use self::ExternalLocation::*;
 use std::ascii::OwnedAsciiExt;
 use std::cell::RefCell;
 use std::cmp::Ordering;
-use std::collections::{HashMap, HashSet};
+use std::collections::{BTreeMap, HashMap, HashSet};
 use std::default::Default;
 use std::fmt;
 use std::fs::{self, File};
@@ -1298,8 +1298,9 @@ impl Context {
         }
     }
 
-    fn build_sidebar_items(&self, m: &clean::Module) -> HashMap<String, Vec<NameDoc>> {
-        let mut map = HashMap::new();
+    fn build_sidebar_items(&self, m: &clean::Module) -> BTreeMap<String, Vec<NameDoc>> {
+        // BTreeMap instead of HashMap to get a sorted output
+        let mut map = BTreeMap::new();
         for item in &m.items {
             if self.ignore_private_item(item) { continue }