From: Nicholas Nethercote Date: Fri, 17 May 2019 08:47:49 +0000 (+1000) Subject: Avoid unnecessary interning in `DefPathData::as_interned_str()`. X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=4ab5fe3f97a260f2cb2b3c06a9a841a05a659e57;p=rust.git Avoid unnecessary interning in `DefPathData::as_interned_str()`. --- diff --git a/src/librustc/hir/map/definitions.rs b/src/librustc/hir/map/definitions.rs index dc6cddc89f9..9cb85c4db47 100644 --- a/src/librustc/hir/map/definitions.rs +++ b/src/librustc/hir/map/definitions.rs @@ -17,7 +17,7 @@ use std::hash::Hash; use syntax::ast; use syntax::ext::hygiene::Mark; -use syntax::symbol::{Symbol, InternedString}; +use syntax::symbol::{Symbol, sym, InternedString}; use syntax_pos::{Span, DUMMY_SP}; use crate::util::nodemap::NodeMap; @@ -584,16 +584,16 @@ pub fn as_interned_str(&self) -> InternedString { return name } // note that this does not show up in user printouts - CrateRoot => "{{crate}}", - Impl => "{{impl}}", - Misc => "{{misc}}", - ClosureExpr => "{{closure}}", - Ctor => "{{constructor}}", - AnonConst => "{{constant}}", - ImplTrait => "{{opaque}}", + CrateRoot => sym::double_braced_crate, + Impl => sym::double_braced_impl, + Misc => sym::double_braced_misc, + ClosureExpr => sym::double_braced_closure, + Ctor => sym::double_braced_constructor, + AnonConst => sym::double_braced_constant, + ImplTrait => sym::double_braced_opaque, }; - Symbol::intern(s).as_interned_str() + s.as_interned_str() } pub fn to_string(&self) -> String { diff --git a/src/libsyntax_pos/symbol.rs b/src/libsyntax_pos/symbol.rs index 12e7403d074..01b126f48b3 100644 --- a/src/libsyntax_pos/symbol.rs +++ b/src/libsyntax_pos/symbol.rs @@ -214,6 +214,13 @@ document_private_items, dotdoteq_in_patterns, dotdot_in_tuple_patterns, + double_braced_crate: "{{crate}}", + double_braced_impl: "{{impl}}", + double_braced_misc: "{{misc}}", + double_braced_closure: "{{closure}}", + double_braced_constructor: "{{constructor}}", + double_braced_constant: "{{constant}}", + double_braced_opaque: "{{opaque}}", dropck_eyepatch, dropck_parametricity, drop_types_in_const,