]> git.lizzy.rs Git - rust.git/commitdiff
Avoid an unnecessary clone in `macro_parser::parse`.
authorNicholas Nethercote <nnethercote@mozilla.com>
Thu, 20 Oct 2016 23:31:53 +0000 (10:31 +1100)
committerNicholas Nethercote <nnethercote@mozilla.com>
Fri, 21 Oct 2016 01:58:06 +0000 (12:58 +1100)
This avoids ~800,000 allocations in html5ever.

src/libsyntax/ext/tt/macro_parser.rs

index ef2e466a04398ae6f47751738f7d9a5b97940394..a664e115ce4b45a254a38c4bcd06cf0d68becad1 100644 (file)
@@ -425,8 +425,8 @@ pub fn parse(sess: &ParseSess,
                         cur_eis.push(ei);
                     }
                     TokenTree::Token(_, ref t) => {
-                        let mut ei_t = ei.clone();
                         if token_name_eq(t,&tok) {
+                            let mut ei_t = ei.clone();
                             ei_t.idx += 1;
                             next_eis.push(ei_t);
                         }