about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPhilip Craig <philipjcraig@gmail.com>2019-08-27 10:34:28 +1000
committerPhilip Craig <philipjcraig@gmail.com>2019-08-27 10:36:27 +1000
commit61ff27aa1cc71042a7f3699713d38b1d1ed2b4c5 (patch)
treea41c629fab49d322c0999df80e5d0f50e00e0e42
parentfbe3f3e98f1cd5203b18ffacb176c70590390a63 (diff)
downloadrust-61ff27aa1cc71042a7f3699713d38b1d1ed2b4c5.tar.gz
rust-61ff27aa1cc71042a7f3699713d38b1d1ed2b4c5.zip
debuginfo: always include disambiguator in type names
-rw-r--r--src/librustc_codegen_ssa/debuginfo/type_names.rs18
-rw-r--r--src/test/debuginfo/generator-objects.rs16
-rw-r--r--src/test/debuginfo/issue-57822.rs4
3 files changed, 18 insertions, 20 deletions
diff --git a/src/librustc_codegen_ssa/debuginfo/type_names.rs b/src/librustc_codegen_ssa/debuginfo/type_names.rs
index b7c782528de..9b5ad94ecd7 100644
--- a/src/librustc_codegen_ssa/debuginfo/type_names.rs
+++ b/src/librustc_codegen_ssa/debuginfo/type_names.rs
@@ -191,18 +191,16 @@ pub fn push_debuginfo_type_name<'tcx>(
             visited.remove(t);
         },
         ty::Closure(def_id, ..) => {
-            output.push_str("closure");
-            let disambiguator = tcx.def_key(def_id).disambiguated_data.disambiguator;
-            if disambiguator != 0 {
-                output.push_str(&format!("-{}", disambiguator));
-            }
+            output.push_str(&format!(
+                "closure-{}",
+                tcx.def_key(def_id).disambiguated_data.disambiguator
+            ));
         }
         ty::Generator(def_id, ..) => {
-            output.push_str("generator");
-            let disambiguator = tcx.def_key(def_id).disambiguated_data.disambiguator;
-            if disambiguator != 0 {
-                output.push_str(&format!("-{}", disambiguator));
-            }
+            output.push_str(&format!(
+                "generator-{}",
+                tcx.def_key(def_id).disambiguated_data.disambiguator
+            ));
         }
         ty::Error |
         ty::Infer(_) |
diff --git a/src/test/debuginfo/generator-objects.rs b/src/test/debuginfo/generator-objects.rs
index c6f98e5782b..bfa7a05cad0 100644
--- a/src/test/debuginfo/generator-objects.rs
+++ b/src/test/debuginfo/generator-objects.rs
@@ -10,31 +10,31 @@
 
 // gdb-command:run
 // gdb-command:print b
-// gdb-check:$1 = generator_objects::main::generator {__0: 0x[...], <<variant>>: {__state: 0, 0: generator_objects::main::generator::Unresumed, 1: generator_objects::main::generator::Returned, 2: generator_objects::main::generator::Panicked, 3: generator_objects::main::generator::Suspend0 {[...]}, 4: generator_objects::main::generator::Suspend1 {[...]}}}
+// gdb-check:$1 = generator_objects::main::generator-0 {__0: 0x[...], <<variant>>: {__state: 0, 0: generator_objects::main::generator-0::Unresumed, 1: generator_objects::main::generator-0::Returned, 2: generator_objects::main::generator-0::Panicked, 3: generator_objects::main::generator-0::Suspend0 {[...]}, 4: generator_objects::main::generator-0::Suspend1 {[...]}}}
 // gdb-command:continue
 // gdb-command:print b
-// gdb-check:$2 = generator_objects::main::generator {__0: 0x[...], <<variant>>: {__state: 3, 0: generator_objects::main::generator::Unresumed, 1: generator_objects::main::generator::Returned, 2: generator_objects::main::generator::Panicked, 3: generator_objects::main::generator::Suspend0 {c: 6, d: 7}, 4: generator_objects::main::generator::Suspend1 {[...]}}}
+// gdb-check:$2 = generator_objects::main::generator-0 {__0: 0x[...], <<variant>>: {__state: 3, 0: generator_objects::main::generator-0::Unresumed, 1: generator_objects::main::generator-0::Returned, 2: generator_objects::main::generator-0::Panicked, 3: generator_objects::main::generator-0::Suspend0 {c: 6, d: 7}, 4: generator_objects::main::generator-0::Suspend1 {[...]}}}
 // gdb-command:continue
 // gdb-command:print b
-// gdb-check:$3 = generator_objects::main::generator {__0: 0x[...], <<variant>>: {__state: 4, 0: generator_objects::main::generator::Unresumed, 1: generator_objects::main::generator::Returned, 2: generator_objects::main::generator::Panicked, 3: generator_objects::main::generator::Suspend0 {[...]}, 4: generator_objects::main::generator::Suspend1 {c: 7, d: 8}}}
+// gdb-check:$3 = generator_objects::main::generator-0 {__0: 0x[...], <<variant>>: {__state: 4, 0: generator_objects::main::generator-0::Unresumed, 1: generator_objects::main::generator-0::Returned, 2: generator_objects::main::generator-0::Panicked, 3: generator_objects::main::generator-0::Suspend0 {[...]}, 4: generator_objects::main::generator-0::Suspend1 {c: 7, d: 8}}}
 // gdb-command:continue
 // gdb-command:print b
-// gdb-check:$4 = generator_objects::main::generator {__0: 0x[...], <<variant>>: {__state: 1, 0: generator_objects::main::generator::Unresumed, 1: generator_objects::main::generator::Returned, 2: generator_objects::main::generator::Panicked, 3: generator_objects::main::generator::Suspend0 {[...]}, 4: generator_objects::main::generator::Suspend1 {[...]}}}
+// gdb-check:$4 = generator_objects::main::generator-0 {__0: 0x[...], <<variant>>: {__state: 1, 0: generator_objects::main::generator-0::Unresumed, 1: generator_objects::main::generator-0::Returned, 2: generator_objects::main::generator-0::Panicked, 3: generator_objects::main::generator-0::Suspend0 {[...]}, 4: generator_objects::main::generator-0::Suspend1 {[...]}}}
 
 // === LLDB TESTS ==================================================================================
 
 // lldb-command:run
 // lldb-command:print b
-// lldbg-check:(generator_objects::main::generator) $0 = generator(&0x[...])
+// lldbg-check:(generator_objects::main::generator-0) $0 = generator-0(&0x[...])
 // lldb-command:continue
 // lldb-command:print b
-// lldbg-check:(generator_objects::main::generator) $1 = generator(&0x[...])
+// lldbg-check:(generator_objects::main::generator-0) $1 = generator-0(&0x[...])
 // lldb-command:continue
 // lldb-command:print b
-// lldbg-check:(generator_objects::main::generator) $2 = generator(&0x[...])
+// lldbg-check:(generator_objects::main::generator-0) $2 = generator-0(&0x[...])
 // lldb-command:continue
 // lldb-command:print b
-// lldbg-check:(generator_objects::main::generator) $3 = generator(&0x[...])
+// lldbg-check:(generator_objects::main::generator-0) $3 = generator-0(&0x[...])
 
 #![feature(omit_gdb_pretty_printer_section, generators, generator_trait)]
 #![omit_gdb_pretty_printer_section]
diff --git a/src/test/debuginfo/issue-57822.rs b/src/test/debuginfo/issue-57822.rs
index ba5e8e0f219..f18e41db0e6 100644
--- a/src/test/debuginfo/issue-57822.rs
+++ b/src/test/debuginfo/issue-57822.rs
@@ -13,7 +13,7 @@
 // gdb-command:run
 
 // gdb-command:print g
-// gdb-check:$1 = issue_57822::main::closure-1 (issue_57822::main::closure (1))
+// gdb-check:$1 = issue_57822::main::closure-1 (issue_57822::main::closure-0 (1))
 
 // gdb-command:print b
 // gdb-check:$2 = issue_57822::main::generator-3 {__0: issue_57822::main::generator-2 {__0: 2, <<variant>>: {[...]}}, <<variant>>: {[...]}}
@@ -23,7 +23,7 @@
 // lldb-command:run
 
 // lldb-command:print g
-// lldbg-check:(issue_57822::main::closure-1) $0 = closure-1(closure(1))
+// lldbg-check:(issue_57822::main::closure-1) $0 = closure-1(closure-0(1))
 
 // lldb-command:print b
 // lldbg-check:(issue_57822::main::generator-3) $1 = generator-3(generator-2(2))