diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-01-05 19:33:37 -0800 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-01-05 19:33:37 -0800 |
| commit | fa967409232c06c35fb100aac65ff274d4d6c30d (patch) | |
| tree | 18fcd1c8203fa072e3fc6dd4cbd350b3f029b3d5 /src/libsyntax | |
| parent | 1070cc0109661d9f47a6e2c39ad853041ddf30e2 (diff) | |
| download | rust-fa967409232c06c35fb100aac65ff274d4d6c30d.tar.gz rust-fa967409232c06c35fb100aac65ff274d4d6c30d.zip | |
librustc: Remove some string allocations. rs=perf
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/attr.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/libsyntax/attr.rs b/src/libsyntax/attr.rs index 5062cefc497..73c14e2d00c 100644 --- a/src/libsyntax/attr.rs +++ b/src/libsyntax/attr.rs @@ -178,15 +178,15 @@ fn get_name_value_str_pair(item: @ast::meta_item) -> Option<(~str, ~str)> { /* Searching */ /// Search a list of attributes and return only those with a specific name -fn find_attrs_by_name(attrs: ~[ast::attribute], name: ~str) -> +fn find_attrs_by_name(attrs: ~[ast::attribute], name: &str) -> ~[ast::attribute] { - let filter = ( - fn@(a: &ast::attribute) -> Option<ast::attribute> { - if get_attr_name(*a) == name { - option::Some(*a) - } else { option::None } + let filter: &fn(a: &ast::attribute) -> Option<ast::attribute> = |a| { + if name == get_attr_name(*a) { + option::Some(*a) + } else { + option::None } - ); + }; return vec::filter_map(attrs, filter); } |
