about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2015-01-11 17:33:02 +0100
committerMs2ger <ms2ger@gmail.com>2015-01-13 10:28:06 +0100
commit56f3554f52e50712fe0830720d8f7e4a4fdaa0cf (patch)
tree708c8be140efe0be25d24f9044d9bebd320cd98b /src
parent4fc9b41238c5b8d36afd6765c770b6604bf7ef04 (diff)
Return the Vec from decoder::get_item_attrs.
Using a closure unnecessarily obfuscates the code.
Diffstat (limited to 'src')
-rw-r--r--src/librustc/metadata/csearch.rs2
-rw-r--r--src/librustc/metadata/decoder.rs10
2 files changed, 5 insertions, 7 deletions
diff --git a/src/librustc/metadata/csearch.rs b/src/librustc/metadata/csearch.rs
index cfff7c9935b..8650df46cc4 100644
--- a/src/librustc/metadata/csearch.rs
+++ b/src/librustc/metadata/csearch.rs
@@ -209,7 +209,7 @@ pub fn get_item_attrs<F>(cstore: &cstore::CStore,
     F: FnOnce(Vec<ast::Attribute>),
 {
     let cdata = cstore.get_crate_data(def_id.krate);
-    decoder::get_item_attrs(&*cdata, def_id.node, f)
+    f(decoder::get_item_attrs(&*cdata, def_id.node));
 }
 
 pub fn get_struct_fields(cstore: &cstore::CStore,
diff --git a/src/librustc/metadata/decoder.rs b/src/librustc/metadata/decoder.rs
index 5ac8f908bf1..dfbff715688 100644
--- a/src/librustc/metadata/decoder.rs
+++ b/src/librustc/metadata/decoder.rs
@@ -1025,18 +1025,16 @@ pub fn get_tuple_struct_definition_if_ctor(cdata: Cmd,
     ret
 }
 
-pub fn get_item_attrs<F>(cdata: Cmd,
-                         orig_node_id: ast::NodeId,
-                         f: F) where
-    F: FnOnce(Vec<ast::Attribute>),
-{
+pub fn get_item_attrs(cdata: Cmd,
+                      orig_node_id: ast::NodeId)
+                      -> Vec<ast::Attribute> {
     // The attributes for a tuple struct are attached to the definition, not the ctor;
     // we assume that someone passing in a tuple struct ctor is actually wanting to
     // look at the definition
     let node_id = get_tuple_struct_definition_if_ctor(cdata, orig_node_id);
     let node_id = node_id.map(|x| x.node).unwrap_or(orig_node_id);
     let item = lookup_item(node_id, cdata.data());
-    f(get_attributes(item));
+    get_attributes(item)
 }
 
 pub fn get_struct_field_attrs(cdata: Cmd) -> HashMap<ast::NodeId, Vec<ast::Attribute>> {