diff options
| author | Tom Tromey <tom@tromey.com> | 2018-11-21 11:35:49 -0700 |
|---|---|---|
| committer | Tom Tromey <tom@tromey.com> | 2018-11-21 14:07:22 -0700 |
| commit | d4ee1c93ff25a7fa6f5e35dc774a648a7e6d578e (patch) | |
| tree | 4eefee4a88ef0518f5160fc70d545840a50d18a2 /src/test/debuginfo | |
| parent | 15e661328198540e35670138f485bbc06a866464 (diff) | |
| download | rust-d4ee1c93ff25a7fa6f5e35dc774a648a7e6d578e.tar.gz rust-d4ee1c93ff25a7fa6f5e35dc774a648a7e6d578e.zip | |
Fix BTreeSet and BTreeMap gdb pretty-printers
The BTreeSet and BTreeMap gdb pretty-printers did not take the node structure into account, and consequently only worked for shallow sets. This fixes the problem by iterating over child nodes when needed. This patch avoids the current approach of implementing some of the value manipulations in debugger-indepdendent code. This was done for convenience: a type lookup was needed for the first time, and there currently are no lldb formatters for these types. Closes #55771
Diffstat (limited to 'src/test/debuginfo')
| -rw-r--r-- | src/test/debuginfo/pretty-std-collections.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/test/debuginfo/pretty-std-collections.rs b/src/test/debuginfo/pretty-std-collections.rs index 8e37a884b34..55e20d67276 100644 --- a/src/test/debuginfo/pretty-std-collections.rs +++ b/src/test/debuginfo/pretty-std-collections.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +// ignore-tidy-linelength // ignore-windows failing on win32 bot // ignore-freebsd: gdb package too new // ignore-android: FIXME(#10381) @@ -20,10 +21,10 @@ // gdb-command: run // gdb-command: print btree_set -// gdb-check:$1 = BTreeSet<i32>(len: 3) = {3, 5, 7} +// gdb-check:$1 = BTreeSet<i32>(len: 15) = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14} // gdb-command: print btree_map -// gdb-check:$2 = BTreeMap<i32, i32>(len: 3) = {[3] = 3, [5] = 7, [7] = 4} +// gdb-check:$2 = BTreeMap<i32, i32>(len: 15) = {[0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6, [7] = 7, [8] = 8, [9] = 9, [10] = 10, [11] = 11, [12] = 12, [13] = 13, [14] = 14} // gdb-command: print vec_deque // gdb-check:$3 = VecDeque<i32>(len: 3, cap: 8) = {5, 3, 7} @@ -38,15 +39,15 @@ fn main() { // BTreeSet let mut btree_set = BTreeSet::new(); - btree_set.insert(5); - btree_set.insert(3); - btree_set.insert(7); + for i in 0..15 { + btree_set.insert(i); + } // BTreeMap let mut btree_map = BTreeMap::new(); - btree_map.insert(5, 7); - btree_map.insert(3, 3); - btree_map.insert(7, 4); + for i in 0..15 { + btree_map.insert(i, i); + } // VecDeque let mut vec_deque = VecDeque::new(); |
