about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJorge Aparicio <jorge@japaric.io>2018-09-01 19:58:04 +0200
committerRalf Jung <post@ralfj.de>2018-10-09 08:58:01 +0200
commit4d8310cef2e1ae49f2b0b1faf05d84b72b907d31 (patch)
tree90259705f2e1950e732b6c0d012d7a70b2206310
parent6644e18e30b69bbbc98526fcaad9acd4c278e216 (diff)
downloadrust-4d8310cef2e1ae49f2b0b1faf05d84b72b907d31.tar.gz
rust-4d8310cef2e1ae49f2b0b1faf05d84b72b907d31.zip
gdb_rust_pretty_printing: adapt to the changes in the layout of btree::LeafNode
-rwxr-xr-xsrc/etc/gdb_rust_pretty_printing.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/etc/gdb_rust_pretty_printing.py b/src/etc/gdb_rust_pretty_printing.py
index 216915dba5f..686c2c447f6 100755
--- a/src/etc/gdb_rust_pretty_printing.py
+++ b/src/etc/gdb_rust_pretty_printing.py
@@ -322,8 +322,10 @@ class RustStdBTreeSetPrinter(object):
     def children(self):
         (length, data_ptr) = \
             rustpp.extract_length_and_ptr_from_std_btreeset(self.__val)
-        val = GdbValue(data_ptr.get_wrapped_value().dereference()).get_child_at_index(3)
-        gdb_ptr = val.get_wrapped_value()
+        maybe_uninit_keys = GdbValue(data_ptr.get_wrapped_value().dereference()).get_child_at_index(3)
+        manually_drop_keys = maybe_uninit_keys.get_child_at_index(1)
+        keys = manually_drop_keys.get_child_at_index(0)
+        gdb_ptr = keys.get_wrapped_value()
         for index in xrange(length):
             yield (str(index), gdb_ptr[index])
 
@@ -345,9 +347,13 @@ class RustStdBTreeMapPrinter(object):
     def children(self):
         (length, data_ptr) = \
             rustpp.extract_length_and_ptr_from_std_btreemap(self.__val)
-        keys = GdbValue(data_ptr.get_wrapped_value().dereference()).get_child_at_index(3)
+        maybe_uninit_keys = GdbValue(data_ptr.get_wrapped_value().dereference()).get_child_at_index(3)
+        manually_drop_keys = maybe_uninit_keys.get_child_at_index(1)
+        keys = manually_drop_keys.get_child_at_index(0)
         keys_ptr = keys.get_wrapped_value()
-        vals = GdbValue(data_ptr.get_wrapped_value().dereference()).get_child_at_index(4)
+        maybe_uninit_vals = GdbValue(data_ptr.get_wrapped_value().dereference()).get_child_at_index(4)
+        manually_drop_vals = maybe_uninit_vals.get_child_at_index(1)
+        vals = manually_drop_vals.get_child_at_index(0)
         vals_ptr = vals.get_wrapped_value()
         for index in xrange(length):
             yield (str(index), keys_ptr[index])