about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2012-06-02 19:03:28 -0700
committerNiko Matsakis <niko@alum.mit.edu>2012-06-02 19:14:57 -0700
commit3f6e6532ac17e97ce48b91e07340361a32ef480b (patch)
tree8aba1f764b51f07fad2f41a67adbdae980023eb4 /src/libsyntax
parente94683dce9832dddf5af5c5ffd1384c7fd113729 (diff)
downloadrust-3f6e6532ac17e97ce48b91e07340361a32ef480b.tar.gz
rust-3f6e6532ac17e97ce48b91e07340361a32ef480b.zip
make vec fns/methods take imm slices.
this also repairs the unsoundness in typing of unpack_slice,
which was silently converting a const ptr to an imm one.
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/attr.rs9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/libsyntax/attr.rs b/src/libsyntax/attr.rs
index 77423a993d4..f9393890f3c 100644
--- a/src/libsyntax/attr.rs
+++ b/src/libsyntax/attr.rs
@@ -272,14 +272,9 @@ fn sort_meta_items(items: [@ast::meta_item]) -> [@ast::meta_item] {
     }
 
     // This is sort of stupid here, converting to a vec of mutables and back
-    let mut v: [mut @ast::meta_item] = [mut];
-    for items.each {|mi| v += [mut mi]; }
-
+    let v: [mut @ast::meta_item] = vec::to_mut(items);
     std::sort::quick_sort(lteq, v);
-
-    let mut v2: [@ast::meta_item] = [];
-    for v.each {|mi| v2 += [mi]; }
-    ret v2;
+    ret vec::from_mut(v);
 }
 
 fn remove_meta_items_by_name(items: [@ast::meta_item], name: str) ->