Test pretty printing more and fix overzealous type substitution
This commit is contained in:
parent
98803c182b
commit
d8a136fa10
2 changed files with 11 additions and 3 deletions
|
@ -335,7 +335,7 @@ class RustStdVecDequePrinter(object):
|
||||||
def children_of_node(boxed_node, height, want_values):
|
def children_of_node(boxed_node, height, want_values):
|
||||||
node_ptr = boxed_node['ptr']['pointer']
|
node_ptr = boxed_node['ptr']['pointer']
|
||||||
if height > 0:
|
if height > 0:
|
||||||
type_name = str(node_ptr.type.target()).replace('LeafNode', 'InternalNode')
|
type_name = str(node_ptr.type.target()).replace('LeafNode', 'InternalNode', 1)
|
||||||
node_type = gdb.lookup_type(type_name)
|
node_type = gdb.lookup_type(type_name)
|
||||||
node_ptr = node_ptr.cast(node_type.pointer())
|
node_ptr = node_ptr.cast(node_type.pointer())
|
||||||
leaf = node_ptr['data']
|
leaf = node_ptr['data']
|
||||||
|
|
|
@ -26,17 +26,22 @@
|
||||||
// gdb-command: print empty_btree_map
|
// gdb-command: print empty_btree_map
|
||||||
// gdb-check:$4 = BTreeMap<i32, u32>(len: 0)
|
// gdb-check:$4 = BTreeMap<i32, u32>(len: 0)
|
||||||
|
|
||||||
|
// gdb-command: print nasty_btree_map
|
||||||
|
// gdb-check:$5 = BTreeMap<i32, pretty_std_collections::MyLeafNode>(len: 1) = {[1] = pretty_std_collections::MyLeafNode (11)}
|
||||||
|
|
||||||
// gdb-command: print vec_deque
|
// gdb-command: print vec_deque
|
||||||
// gdb-check:$5 = VecDeque<i32>(len: 3, cap: 8) = {5, 3, 7}
|
// gdb-check:$6 = VecDeque<i32>(len: 3, cap: 8) = {5, 3, 7}
|
||||||
|
|
||||||
// gdb-command: print vec_deque2
|
// gdb-command: print vec_deque2
|
||||||
// gdb-check:$6 = VecDeque<i32>(len: 7, cap: 8) = {2, 3, 4, 5, 6, 7, 8}
|
// gdb-check:$7 = VecDeque<i32>(len: 7, cap: 8) = {2, 3, 4, 5, 6, 7, 8}
|
||||||
|
|
||||||
#![allow(unused_variables)]
|
#![allow(unused_variables)]
|
||||||
use std::collections::BTreeMap;
|
use std::collections::BTreeMap;
|
||||||
use std::collections::BTreeSet;
|
use std::collections::BTreeSet;
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
|
|
||||||
|
struct MyLeafNode(i32); // helps to ensure we don't blindly replace substring "LeafNode"
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
// BTreeSet
|
// BTreeSet
|
||||||
let mut btree_set = BTreeSet::new();
|
let mut btree_set = BTreeSet::new();
|
||||||
|
@ -54,6 +59,9 @@ fn main() {
|
||||||
|
|
||||||
let mut empty_btree_map: BTreeMap<i32, u32> = BTreeMap::new();
|
let mut empty_btree_map: BTreeMap<i32, u32> = BTreeMap::new();
|
||||||
|
|
||||||
|
let mut nasty_btree_map: BTreeMap<i32, MyLeafNode> = BTreeMap::new();
|
||||||
|
nasty_btree_map.insert(1, MyLeafNode(11));
|
||||||
|
|
||||||
// VecDeque
|
// VecDeque
|
||||||
let mut vec_deque = VecDeque::new();
|
let mut vec_deque = VecDeque::new();
|
||||||
vec_deque.push_back(5);
|
vec_deque.push_back(5);
|
||||||
|
|
Loading…
Add table
Reference in a new issue