]> git.lizzy.rs Git - rust.git/commitdiff
std: print RUST_LOG=::help in sorted order.
authorHuon Wilson <dbau.pp+github@gmail.com>
Tue, 31 Dec 2013 12:47:15 +0000 (23:47 +1100)
committerHuon Wilson <dbau.pp+github@gmail.com>
Tue, 31 Dec 2013 12:47:15 +0000 (23:47 +1100)
Fixes #8949.

src/libstd/rt/logging.rs

index 3f169b511df9a665a26b89c47494483d0c377bf3..dfcf49734df1776e8d3748a24f732c626a3be9cd 100644 (file)
@@ -17,7 +17,7 @@
 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);