diff options
| author | Ryan Levick <me@ryanlevick.com> | 2021-02-26 17:52:31 +0100 |
|---|---|---|
| committer | Ryan Levick <me@ryanlevick.com> | 2021-03-01 10:57:36 +0100 |
| commit | 920e2d82484909a85fabc636fd216ad2fa0a168f (patch) | |
| tree | 1e593d710e75525162ad35f29fb17b56a28ff0fb | |
| parent | d95d30486180387a875b14633aea4e4dd8f960da (diff) | |
| download | rust-920e2d82484909a85fabc636fd216ad2fa0a168f.tar.gz rust-920e2d82484909a85fabc636fd216ad2fa0a168f.zip | |
Add natvis for Result, NonNull, CString, CStr, and Cow
| -rw-r--r-- | src/etc/natvis/liballoc.natvis | 7 | ||||
| -rw-r--r-- | src/etc/natvis/libcore.natvis | 15 | ||||
| -rw-r--r-- | src/etc/natvis/libstd.natvis | 29 |
3 files changed, 51 insertions, 0 deletions
diff --git a/src/etc/natvis/liballoc.natvis b/src/etc/natvis/liballoc.natvis index cfaafc5734b..9cc60fc7b47 100644 --- a/src/etc/natvis/liballoc.natvis +++ b/src/etc/natvis/liballoc.natvis @@ -75,4 +75,11 @@ <ExpandedItem>ptr.pointer->data</ExpandedItem> </Expand> </Type> + <Type Name="alloc::borrow::Cow<*>"> + <DisplayString Condition="RUST$ENUM$DISR == 0x0">Borrowed({__0})</DisplayString> + <DisplayString Condition="RUST$ENUM$DISR == 0x1">Owned({__0})</DisplayString> + <Expand> + <Item Name="[value]" ExcludeView="simple">__0</Item> + </Expand> + </Type> </AutoVisualizer> diff --git a/src/etc/natvis/libcore.natvis b/src/etc/natvis/libcore.natvis index 984a8bfb13c..9c3c26f5978 100644 --- a/src/etc/natvis/libcore.natvis +++ b/src/etc/natvis/libcore.natvis @@ -30,4 +30,19 @@ </Expand> </Type> + <Type Name="core::result::Result<*>"> + <DisplayString Condition="RUST$ENUM$DISR == 0x0">Ok({__0})</DisplayString> + <DisplayString Condition="RUST$ENUM$DISR == 0x1">Err({(*($T2*) &__0)})</DisplayString> + <Expand> + <Item Name="[value]" Condition="RUST$ENUM$DISR == 0x0">__0</Item> + <Item Name="[value]" Condition="RUST$ENUM$DISR == 0x1">(*($T2*) &__0)</Item> + </Expand> + </Type> + + <Type Name="core::ptr::non_null::NonNull<*>"> + <DisplayString>{(void*) pointer}</DisplayString> + <Expand> + <Item Name="[value]">*pointer</Item> + </Expand> + </Type> </AutoVisualizer> \ No newline at end of file diff --git a/src/etc/natvis/libstd.natvis b/src/etc/natvis/libstd.natvis index 7e5ee7b13da..b0542b0c633 100644 --- a/src/etc/natvis/libstd.natvis +++ b/src/etc/natvis/libstd.natvis @@ -72,4 +72,33 @@ </CustomListItems> </Expand> </Type> + + <Type Name="std::ffi::c_str::CString"> + <DisplayString>{inner.data_ptr,s}</DisplayString> + <Expand> + <Synthetic Name="[chars]"> + <Expand> + <ArrayItems> + <Size>inner.length</Size> + <ValuePointer>(char*)inner.data_ptr</ValuePointer> + </ArrayItems> + </Expand> + </Synthetic> + </Expand> + </Type> + + <Type Name="std::ffi::c_str::CStr"> + <DisplayString>{(char*) inner}</DisplayString> + <Expand> + <Synthetic Name="[chars]"> + <DisplayString>{(char*) inner}</DisplayString> + <Expand> + <ArrayItems> + <Size>strlen((char *) inner) + 1</Size> + <ValuePointer>(char*)inner</ValuePointer> + </ArrayItems> + </Expand> + </Synthetic> + </Expand> + </Type> </AutoVisualizer> |
