diff options
| author | Ms2ger <ms2ger@gmail.com> | 2015-01-11 17:33:02 +0100 |
|---|---|---|
| committer | Ms2ger <ms2ger@gmail.com> | 2015-01-13 10:28:06 +0100 |
| commit | 56f3554f52e50712fe0830720d8f7e4a4fdaa0cf (patch) | |
| tree | 708c8be140efe0be25d24f9044d9bebd320cd98b /src | |
| parent | 4fc9b41238c5b8d36afd6765c770b6604bf7ef04 (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.rs | 2 | ||||
| -rw-r--r-- | 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 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>> { |
