From f353cbf1a145603e1f69c2aaaef171dd60ca4c65 Mon Sep 17 00:00:00 2001 From: Wesley Wiser Date: Mon, 26 Apr 2021 14:39:57 -0400 Subject: Generate better debuginfo for directly tagged enums --- compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (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 d1bbf74307c..626c71abf63 100644 --- a/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs +++ b/compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs @@ -45,8 +45,16 @@ pub fn push_debuginfo_type_name<'tcx>( ty::Float(float_ty) => output.push_str(float_ty.name_str()), ty::Foreign(def_id) => push_item_name(tcx, def_id, qualified, output), ty::Adt(def, substs) => { + if def.is_enum() && cpp_like_names { + output.push_str("_enum<"); + } + push_item_name(tcx, def.did, qualified, output); push_type_params(tcx, substs, output, visited); + + if def.is_enum() && cpp_like_names { + output.push('>'); + } } ty::Tuple(component_types) => { if cpp_like_names { -- cgit 1.4.1-3-g733a5