From 56f3554f52e50712fe0830720d8f7e4a4fdaa0cf Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sun, 11 Jan 2015 17:33:02 +0100 Subject: [PATCH] Return the Vec from decoder::get_item_attrs. Using a closure unnecessarily obfuscates the code. --- src/librustc/metadata/csearch.rs | 2 +- src/librustc/metadata/decoder.rs | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/librustc/metadata/csearch.rs b/src/librustc/metadata/csearch.rs index cfff7c9935bc..8650df46cc46 100644 --- a/src/librustc/metadata/csearch.rs +++ b/src/librustc/metadata/csearch.rs @@ -209,7 +209,7 @@ pub fn get_item_attrs(cstore: &cstore::CStore, F: FnOnce(Vec), { 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 5ac8f908bf16..dfbff7156886 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(cdata: Cmd, - orig_node_id: ast::NodeId, - f: F) where - F: FnOnce(Vec), -{ +pub fn get_item_attrs(cdata: Cmd, + orig_node_id: ast::NodeId) + -> Vec { // 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> {