From f1878d19faf9472f8860a3ff4fe605fdf93cef2c Mon Sep 17 00:00:00 2001 From: marmeladema Date: Mon, 31 Aug 2020 18:11:44 +0100 Subject: Move from {{closure}}#0 syntax to {closure#0} for (def) path components --- compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'compiler/rustc_codegen_ssa/src/debuginfo') diff --git a/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs b/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs index 0c0f1bc681c..e227f9df000 100644 --- a/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs +++ b/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs @@ -3,8 +3,11 @@ use rustc_data_structures::fx::FxHashSet; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_hir::definitions::DefPathDataName; use rustc_middle::ty::{self, subst::SubstsRef, Ty, TyCtxt}; +use std::fmt::Write; + // Compute the name of the type as it should be stored in debuginfo. Does not do // any caching, i.e., calling the function twice with the same type will also do // the work twice. The `qualified` parameter only affects the first level of the @@ -229,7 +232,12 @@ pub fn push_debuginfo_type_name<'tcx>( output.push_str(&tcx.crate_name(def_id.krate).as_str()); for path_element in tcx.def_path(def_id).data { output.push_str("::"); - output.push_str(&path_element.data.as_symbol().as_str()); + match path_element.data.get_name() { + DefPathDataName::Named(name) => output.push_str(&name.as_str()), + DefPathDataName::Anon { namespace } => { + write!(output, "{{{{{}}}}}", namespace).unwrap() + } + } } } else { output.push_str(&tcx.item_name(def_id).as_str()); -- cgit 1.4.1-3-g733a5 From 657ecdb75e2a9f8e8295bc75d9fe810f02605130 Mon Sep 17 00:00:00 2001 From: marmeladema Date: Tue, 1 Sep 2020 00:42:30 +0100 Subject: Rename `DefPathData::get_name()` to `DefPathData::name()` --- compiler/rustc_codegen_llvm/src/debuginfo/namespace.rs | 2 +- compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs | 2 +- compiler/rustc_hir/src/definitions.rs | 2 +- compiler/rustc_lint/src/context.rs | 2 +- compiler/rustc_middle/src/ty/print/pretty.rs | 2 +- compiler/rustc_middle/src/ty/query/profiling_support.rs | 2 +- compiler/rustc_mir/src/monomorphize/partitioning/default.rs | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) (limited to 'compiler/rustc_codegen_ssa/src/debuginfo') diff --git a/compiler/rustc_codegen_llvm/src/debuginfo/namespace.rs b/compiler/rustc_codegen_llvm/src/debuginfo/namespace.rs index 835d0d2e12d..661d13ead83 100644 --- a/compiler/rustc_codegen_llvm/src/debuginfo/namespace.rs +++ b/compiler/rustc_codegen_llvm/src/debuginfo/namespace.rs @@ -30,7 +30,7 @@ pub fn item_namespace(cx: &CodegenCx<'ll, '_>, def_id: DefId) -> &'ll DIScope { let namespace_name = match def_key.disambiguated_data.data { DefPathData::CrateRoot => cx.tcx.crate_name(def_id.krate), - data => match data.get_name() { + data => match data.name() { DefPathDataName::Named(name) => name, DefPathDataName::Anon { namespace } => { Symbol::intern(&format!("{{{{{}}}}}", namespace)) diff --git a/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs b/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs index e227f9df000..5642cc526ae 100644 --- a/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs +++ b/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs @@ -232,7 +232,7 @@ pub fn push_debuginfo_type_name<'tcx>( output.push_str(&tcx.crate_name(def_id.krate).as_str()); for path_element in tcx.def_path(def_id).data { output.push_str("::"); - match path_element.data.get_name() { + match path_element.data.name() { DefPathDataName::Named(name) => output.push_str(&name.as_str()), DefPathDataName::Anon { namespace } => { write!(output, "{{{{{}}}}}", namespace).unwrap() diff --git a/compiler/rustc_hir/src/definitions.rs b/compiler/rustc_hir/src/definitions.rs index ae2ce6f176a..5d1c6b78f36 100644 --- a/compiler/rustc_hir/src/definitions.rs +++ b/compiler/rustc_hir/src/definitions.rs @@ -157,7 +157,7 @@ pub struct DisambiguatedDefPathData { impl DisambiguatedDefPathData { pub fn fmt_maybe_verbose(&self, writer: &mut impl Write, verbose: bool) -> fmt::Result { - match self.data.get_name() { + match self.data.name() { DefPathDataName::Named(name) => { if Ident::with_dummy_span(name).is_raw_guess() { writer.write_str("r#")?; diff --git a/compiler/rustc_lint/src/context.rs b/compiler/rustc_lint/src/context.rs index e4b72847638..776c3c83e02 100644 --- a/compiler/rustc_lint/src/context.rs +++ b/compiler/rustc_lint/src/context.rs @@ -846,7 +846,7 @@ impl<'tcx> LateContext<'tcx> { return Ok(path); } - path.push(match disambiguated_data.data.get_name() { + path.push(match disambiguated_data.data.name() { DefPathDataName::Named(name) => name, DefPathDataName::Anon { namespace } => { Symbol::intern(&format!("{{{{{}}}}}", namespace)) diff --git a/compiler/rustc_middle/src/ty/print/pretty.rs b/compiler/rustc_middle/src/ty/print/pretty.rs index 7ec14d43892..0e1d5c8fee7 100644 --- a/compiler/rustc_middle/src/ty/print/pretty.rs +++ b/compiler/rustc_middle/src/ty/print/pretty.rs @@ -1498,7 +1498,7 @@ impl Printer<'tcx> for FmtPrinter<'_, 'tcx, F> { // FIXME(eddyb) `name` should never be empty, but it // currently is for `extern { ... }` "foreign modules". - let name = disambiguated_data.data.get_name(); + let name = disambiguated_data.data.name(); if name != DefPathDataName::Named(kw::Invalid) { if !self.empty_path { write!(self, "::")?; diff --git a/compiler/rustc_middle/src/ty/query/profiling_support.rs b/compiler/rustc_middle/src/ty/query/profiling_support.rs index cecb58eb024..f8269fe372e 100644 --- a/compiler/rustc_middle/src/ty/query/profiling_support.rs +++ b/compiler/rustc_middle/src/ty/query/profiling_support.rs @@ -66,7 +66,7 @@ impl<'p, 'c, 'tcx> QueryKeyStringBuilder<'p, 'c, 'tcx> { end_index = 3; } other => { - name = match other.get_name() { + name = match other.name() { DefPathDataName::Named(name) => { dis = ""; end_index = 3; diff --git a/compiler/rustc_mir/src/monomorphize/partitioning/default.rs b/compiler/rustc_mir/src/monomorphize/partitioning/default.rs index c9622df099f..62805a973f5 100644 --- a/compiler/rustc_mir/src/monomorphize/partitioning/default.rs +++ b/compiler/rustc_mir/src/monomorphize/partitioning/default.rs @@ -355,7 +355,7 @@ fn compute_codegen_unit_name( *cache.entry((cgu_def_id, volatile)).or_insert_with(|| { let def_path = tcx.def_path(cgu_def_id); - let components = def_path.data.iter().map(|part| match part.data.get_name() { + let components = def_path.data.iter().map(|part| match part.data.name() { DefPathDataName::Named(name) => name, DefPathDataName::Anon { namespace } => { Symbol::intern(&format!("{{{{{}}}}}", namespace)) -- cgit 1.4.1-3-g733a5 From bb8e1764bb31bc63a6b61f446e28bb567015de01 Mon Sep 17 00:00:00 2001 From: marmeladema Date: Tue, 1 Sep 2020 13:11:28 +0100 Subject: Simplify some match statements on `DefPathDataName' --- compiler/rustc_codegen_llvm/src/debuginfo/namespace.rs | 9 ++------- compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs | 9 +-------- compiler/rustc_lint/src/context.rs | 9 ++------- 3 files changed, 5 insertions(+), 22 deletions(-) (limited to 'compiler/rustc_codegen_ssa/src/debuginfo') diff --git a/compiler/rustc_codegen_llvm/src/debuginfo/namespace.rs b/compiler/rustc_codegen_llvm/src/debuginfo/namespace.rs index 661d13ead83..512fc87905e 100644 --- a/compiler/rustc_codegen_llvm/src/debuginfo/namespace.rs +++ b/compiler/rustc_codegen_llvm/src/debuginfo/namespace.rs @@ -7,7 +7,7 @@ use crate::common::CodegenCx; use crate::llvm; use crate::llvm::debuginfo::DIScope; use rustc_hir::def_id::DefId; -use rustc_hir::definitions::{DefPathData, DefPathDataName}; +use rustc_hir::definitions::DefPathData; use rustc_span::symbol::Symbol; pub fn mangled_name_of_instance<'a, 'tcx>( @@ -30,12 +30,7 @@ pub fn item_namespace(cx: &CodegenCx<'ll, '_>, def_id: DefId) -> &'ll DIScope { let namespace_name = match def_key.disambiguated_data.data { DefPathData::CrateRoot => cx.tcx.crate_name(def_id.krate), - data => match data.name() { - DefPathDataName::Named(name) => name, - DefPathDataName::Anon { namespace } => { - Symbol::intern(&format!("{{{{{}}}}}", namespace)) - } - }, + data => Symbol::intern(&data.to_string()), }; let namespace_name = namespace_name.as_str(); diff --git a/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs b/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs index 5642cc526ae..45ecb793387 100644 --- a/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs +++ b/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs @@ -3,7 +3,6 @@ use rustc_data_structures::fx::FxHashSet; use rustc_hir as hir; use rustc_hir::def_id::DefId; -use rustc_hir::definitions::DefPathDataName; use rustc_middle::ty::{self, subst::SubstsRef, Ty, TyCtxt}; use std::fmt::Write; @@ -231,13 +230,7 @@ pub fn push_debuginfo_type_name<'tcx>( if qualified { output.push_str(&tcx.crate_name(def_id.krate).as_str()); for path_element in tcx.def_path(def_id).data { - output.push_str("::"); - match path_element.data.name() { - DefPathDataName::Named(name) => output.push_str(&name.as_str()), - DefPathDataName::Anon { namespace } => { - write!(output, "{{{{{}}}}}", namespace).unwrap() - } - } + write!(output, "::{}", path_element.data).unwrap(); } } else { output.push_str(&tcx.item_name(def_id).as_str()); diff --git a/compiler/rustc_lint/src/context.rs b/compiler/rustc_lint/src/context.rs index 776c3c83e02..7a3035e5b46 100644 --- a/compiler/rustc_lint/src/context.rs +++ b/compiler/rustc_lint/src/context.rs @@ -26,7 +26,7 @@ use rustc_errors::{struct_span_err, Applicability}; use rustc_hir as hir; use rustc_hir::def::Res; use rustc_hir::def_id::{CrateNum, DefId}; -use rustc_hir::definitions::{DefPathData, DefPathDataName, DisambiguatedDefPathData}; +use rustc_hir::definitions::{DefPathData, DisambiguatedDefPathData}; use rustc_middle::lint::LintDiagnosticBuilder; use rustc_middle::middle::privacy::AccessLevels; use rustc_middle::middle::stability; @@ -846,12 +846,7 @@ impl<'tcx> LateContext<'tcx> { return Ok(path); } - path.push(match disambiguated_data.data.name() { - DefPathDataName::Named(name) => name, - DefPathDataName::Anon { namespace } => { - Symbol::intern(&format!("{{{{{}}}}}", namespace)) - } - }); + path.push(Symbol::intern(&disambiguated_data.data.to_string())); Ok(path) } -- cgit 1.4.1-3-g733a5