about summary refs log tree commit diff
path: root/src/test/debuginfo/generator-objects.rs
diff options
context:
space:
mode:
authorlrh2000 <lrh2000@pku.edu.cn>2021-05-05 23:50:44 +0800
committerlrh2000 <lrh2000@pku.edu.cn>2021-07-09 23:06:53 +0800
commit29856acffeb87541bb167c33f4fdb13c31ba6de0 (patch)
tree2bbb04127b4609350704b956985e38371cc62ca5 /src/test/debuginfo/generator-objects.rs
parent95fb1315217976ff4c268bb03c9b4132f0dfa9fd (diff)
downloadrust-29856acffeb87541bb167c33f4fdb13c31ba6de0.tar.gz
rust-29856acffeb87541bb167c33f4fdb13c31ba6de0.zip
Name the captured upvars for closures/generators in debuginfo
Previously, debuggers print closures as something like
```
y::main::closure-0 (0x7fffffffdd34)
```
The pointer actually references to an upvar. It is not
very obvious, especially for beginners.

It's because upvars don't have names before, as they
are packed into a tuple. This commit names the upvars,
so we can expect to see something like
```
y::main::closure-0 {_captured_ref__b: 0x[...]}
```
Diffstat (limited to 'src/test/debuginfo/generator-objects.rs')
-rw-r--r--src/test/debuginfo/generator-objects.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/test/debuginfo/generator-objects.rs b/src/test/debuginfo/generator-objects.rs
index 7ac3304aa96..46a3d7924a1 100644
--- a/src/test/debuginfo/generator-objects.rs
+++ b/src/test/debuginfo/generator-objects.rs
@@ -11,16 +11,16 @@
 
 // gdb-command:run
 // gdb-command:print b
-// gdb-check:$1 = generator_objects::main::{generator#0}::Unresumed(0x[...])
+// gdb-check:$1 = generator_objects::main::{generator#0}::Unresumed{_captured_ref__a: 0x[...]}
 // gdb-command:continue
 // gdb-command:print b
-// gdb-check:$2 = generator_objects::main::{generator#0}::Suspend0{c: 6, d: 7, __0: 0x[...]}
+// gdb-check:$2 = generator_objects::main::{generator#0}::Suspend0{c: 6, d: 7, _captured_ref__a: 0x[...]}
 // gdb-command:continue
 // gdb-command:print b
-// gdb-check:$3 = generator_objects::main::{generator#0}::Suspend1{c: 7, d: 8, __0: 0x[...]}
+// gdb-check:$3 = generator_objects::main::{generator#0}::Suspend1{c: 7, d: 8, _captured_ref__a: 0x[...]}
 // gdb-command:continue
 // gdb-command:print b
-// gdb-check:$4 = generator_objects::main::{generator#0}::Returned(0x[...])
+// gdb-check:$4 = generator_objects::main::{generator#0}::Returned{_captured_ref__a: 0x[...]}
 
 // === LLDB TESTS ==================================================================================