diff options
| -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> |
