about summary refs log tree commit diff
path: root/src/libstd/rt/crate_map.rs
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2014-02-27 20:25:13 -0800
committerAlex Crichton <alex@alexcrichton.com>2014-02-28 12:24:50 -0800
commitd89074c8ae11d52b3b92d73bc684f5b964a05cf5 (patch)
tree5af56a15fa353140c59a24d286133c67880c3a05 /src/libstd/rt/crate_map.rs
parentd5aa795aa5f316bc5f43508df5bc41cba0a61ea8 (diff)
std: Remove lots of allocations from log settings
Most of these are unnecessary because we're only looking at static strings. This
also moves to Vec in a few places instead of ~[T].

This didn't end up getting much of a code size win (update_log_settings is the
third largest function in the executables I'm looking at), but this seems like a
generally nice improvement regardless.
Diffstat (limited to 'src/libstd/rt/crate_map.rs')
-rw-r--r--src/libstd/rt/crate_map.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libstd/rt/crate_map.rs b/src/libstd/rt/crate_map.rs
index 409b77d1a3f..ff54a80ce99 100644
--- a/src/libstd/rt/crate_map.rs
+++ b/src/libstd/rt/crate_map.rs
@@ -123,7 +123,7 @@ fn version(crate_map: &CrateMap) -> i32 {
 
 fn do_iter_crate_map<'a>(
                      crate_map: &'a CrateMap<'a>,
-                     f: |&ModEntry|,
+                     f: |&'a ModEntry<'a>|,
                      visited: &mut ~[*CrateMap<'a>]) {
     let raw = crate_map as *CrateMap<'a>;
     if visited.bsearch(|a| (*a as uint).cmp(&(raw as uint))).is_some() {
@@ -149,7 +149,7 @@ fn do_iter_crate_map<'a>(
 }
 
 /// Iterates recursively over `crate_map` and all child crate maps
-pub fn iter_crate_map<'a>(crate_map: &'a CrateMap<'a>, f: |&ModEntry|) {
+pub fn iter_crate_map<'a>(crate_map: &'a CrateMap<'a>, f: |&'a ModEntry<'a>|) {
     let mut v = ~[];
     do_iter_crate_map(crate_map, f, &mut v);
 }