about summary refs log tree commit diff
path: root/src/etc/gdb_providers.py
diff options
context:
space:
mode:
authorMarkus Everling <markuseverling@gmail.com>2022-10-13 00:58:02 +0200
committerMarkus Everling <markuseverling@gmail.com>2022-11-20 15:21:16 +0100
commita1bf25e2bdbebad2f1f42118ba1d2c4a7ae4f7b0 (patch)
tree887e031c5ed165fc8095c619f53b4e4a0669512d /src/etc/gdb_providers.py
parent9cdfe03b0601d5328406746a7923a8a4eaa0cf3c (diff)
downloadrust-a1bf25e2bdbebad2f1f42118ba1d2c4a7ae4f7b0.tar.gz
rust-a1bf25e2bdbebad2f1f42118ba1d2c4a7ae4f7b0.zip
Update VecDeque implementation
Diffstat (limited to 'src/etc/gdb_providers.py')
-rw-r--r--src/etc/gdb_providers.py8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/etc/gdb_providers.py b/src/etc/gdb_providers.py
index c351c3450f5..32b8d8e24c6 100644
--- a/src/etc/gdb_providers.py
+++ b/src/etc/gdb_providers.py
@@ -144,20 +144,16 @@ class StdVecDequeProvider:
     def __init__(self, valobj):
         self.valobj = valobj
         self.head = int(valobj["head"])
-        self.tail = int(valobj["tail"])
+        self.size = int(valobj["len"])
         self.cap = int(valobj["buf"]["cap"])
         self.data_ptr = unwrap_unique_or_non_null(valobj["buf"]["ptr"])
-        if self.head >= self.tail:
-            self.size = self.head - self.tail
-        else:
-            self.size = self.cap + self.head - self.tail
 
     def to_string(self):
         return "VecDeque(size={})".format(self.size)
 
     def children(self):
         return _enumerate_array_elements(
-            (self.data_ptr + ((self.tail + index) % self.cap)) for index in xrange(self.size)
+            (self.data_ptr + ((self.head + index) % self.cap)) for index in xrange(self.size)
         )
 
     @staticmethod