Avoid unnecessary interning in Ident::from_str() calls.

A lot of these static symbols are pre-interned.
This commit is contained in:
Nicholas Nethercote
2019-05-17 18:37:53 +10:00
parent be3724fb7c
commit 86cc326d06
13 changed files with 45 additions and 36 deletions

View File

@@ -352,7 +352,7 @@ impl TokenCursor {
let body = TokenTree::Delimited(
delim_span,
token::Bracket,
[TokenTree::Token(sp, token::Ident(ast::Ident::from_str("doc"), false)),
[TokenTree::Token(sp, token::Ident(ast::Ident::with_empty_ctxt(sym::doc), false)),
TokenTree::Token(sp, token::Eq),
TokenTree::Token(sp, token::Literal(
token::StrRaw(Symbol::intern(&stripped), num_of_hashes), None))
@@ -7012,7 +7012,8 @@ impl<'a> Parser<'a> {
let attr = Attribute {
id: attr::mk_attr_id(),
style: ast::AttrStyle::Outer,
path: ast::Path::from_ident(Ident::from_str("warn_directory_ownership")),
path: ast::Path::from_ident(
Ident::with_empty_ctxt(sym::warn_directory_ownership)),
tokens: TokenStream::empty(),
is_sugared_doc: false,
span: syntax_pos::DUMMY_SP,