about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/attr.rs8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/libsyntax/attr.rs b/src/libsyntax/attr.rs
index 857453b2bf9..d258393e3b9 100644
--- a/src/libsyntax/attr.rs
+++ b/src/libsyntax/attr.rs
@@ -24,8 +24,7 @@ use core::either::Either;
 use core::either;
 use core::option;
 use core::vec;
-use std::oldmap::HashMap;
-use std::oldmap;
+use core::hashmap::linear::LinearSet;
 use std;
 
 /* Constructors */
@@ -358,16 +357,15 @@ pub fn find_inline_attr(attrs: &[ast::attribute]) -> inline_attr {
 
 pub fn require_unique_names(diagnostic: span_handler,
                             metas: &[@ast::meta_item]) {
-    let map = oldmap::HashMap();
+    let mut set = LinearSet::new();
     for metas.each |meta| {
         let name = get_meta_item_name(*meta);
 
         // FIXME: How do I silence the warnings? --pcw (#2619)
-        if map.contains_key(&name) {
+        if !set.insert(name) {
             diagnostic.span_fatal(meta.span,
                                   fmt!("duplicate meta item `%s`", name));
         }
-        map.insert(name, ());
     }
 }