about summary refs log tree commit diff
diff options
context:
space:
mode:
authorHuon Wilson <dbau.pp+github@gmail.com>2013-12-31 23:47:15 +1100
committerHuon Wilson <dbau.pp+github@gmail.com>2013-12-31 23:47:15 +1100
commitd255d4a4ff394da96bb669fef7a70871e08498fa (patch)
tree3888ae679946849d63536fec3967a856e25735f8
parentdf25bb65eb56aa3815226c74190079be3904c13c (diff)
downloadrust-d255d4a4ff394da96bb669fef7a70871e08498fa.tar.gz
rust-d255d4a4ff394da96bb669fef7a70871e08498fa.zip
std: print RUST_LOG=::help in sorted order.
Fixes #8949.
-rw-r--r--src/libstd/rt/logging.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libstd/rt/logging.rs b/src/libstd/rt/logging.rs
index 3f169b511df..dfcf49734df 100644
--- a/src/libstd/rt/logging.rs
+++ b/src/libstd/rt/logging.rs
@@ -17,7 +17,7 @@ use io::stdio::StdWriter;
 use io::buffered::LineBufferedWriter;
 use rt::crate_map::{ModEntry, CrateMap, iter_crate_map, get_crate_map};
 use str::StrSlice;
-use vec::ImmutableVector;
+use vec::{ImmutableVector, MutableTotalOrdVector};
 #[cfg(test)] use cast::transmute;
 
 struct LogDirective {
@@ -141,7 +141,14 @@ fn update_log_settings(crate_map: &CrateMap, settings: ~str) {
     if settings.len() > 0 {
         if settings == ~"::help" || settings == ~"?" {
             rterrln!("\nCrate log map:\n");
-            iter_crate_map(crate_map, |entry| rterrln!(" {}", entry.name));
+
+            let mut entries = ~[];
+            iter_crate_map(crate_map, |entry| entries.push(entry.name.to_owned()));
+            entries.sort();
+
+            for name in entries.iter() {
+                rterrln!(" {}", *name);
+            }
             unsafe { exit(1); }
         }
         dirs = parse_logging_spec(settings);