diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-19 09:25:53 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-19 09:25:53 +0000 |
commit | 73e0a5b7696ea019ba35b89f38fc8e7b285d99cb (patch) | |
tree | 0d2e175af6f114cb50a675bec0bc76e12e1bceb4 /src/etc/lldb_providers.py | |
parent | Adding upstream version 1.75.0+dfsg1. (diff) | |
download | rustc-upstream.tar.xz rustc-upstream.zip |
Adding upstream version 1.76.0+dfsg1.upstream/1.76.0+dfsg1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/etc/lldb_providers.py')
-rw-r--r-- | src/etc/lldb_providers.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/etc/lldb_providers.py b/src/etc/lldb_providers.py index 4c86b2146..cfb3f0a4e 100644 --- a/src/etc/lldb_providers.py +++ b/src/etc/lldb_providers.py @@ -267,7 +267,8 @@ class StdVecSyntheticProvider: """Pretty-printer for alloc::vec::Vec<T> struct Vec<T> { buf: RawVec<T>, len: usize } - struct RawVec<T> { ptr: Unique<T>, cap: usize, ... } + rust 1.75: struct RawVec<T> { ptr: Unique<T>, cap: usize, ... } + rust 1.76: struct RawVec<T> { ptr: Unique<T>, cap: Cap(usize), ... } rust 1.31.1: struct Unique<T: ?Sized> { pointer: NonZero<*const T>, ... } rust 1.33.0: struct Unique<T: ?Sized> { pointer: *const T, ... } rust 1.62.0: struct Unique<T: ?Sized> { pointer: NonNull<T>, ... } @@ -390,7 +391,10 @@ class StdVecDequeSyntheticProvider: self.head = self.valobj.GetChildMemberWithName("head").GetValueAsUnsigned() self.size = self.valobj.GetChildMemberWithName("len").GetValueAsUnsigned() self.buf = self.valobj.GetChildMemberWithName("buf") - self.cap = self.buf.GetChildMemberWithName("cap").GetValueAsUnsigned() + cap = self.buf.GetChildMemberWithName("cap") + if cap.GetType().num_fields == 1: + cap = cap.GetChildAtIndex(0) + self.cap = cap.GetValueAsUnsigned() self.data_ptr = unwrap_unique_or_non_null(self.buf.GetChildMemberWithName("ptr")) |