diff options
| author | Wesley Wiser <wesleywiser@microsoft.com> | 2021-04-26 14:39:57 -0400 |
|---|---|---|
| committer | Wesley Wiser <wesleywiser@microsoft.com> | 2021-06-02 10:23:09 -0400 |
| commit | f353cbf1a145603e1f69c2aaaef171dd60ca4c65 (patch) | |
| tree | a1c3d4644264c06372c83a621fff2d50e152c070 /src/etc/natvis | |
| parent | 1e13a9bb33debb931d603278b7f1a706b0d11660 (diff) | |
| download | rust-f353cbf1a145603e1f69c2aaaef171dd60ca4c65.tar.gz rust-f353cbf1a145603e1f69c2aaaef171dd60ca4c65.zip | |
Generate better debuginfo for directly tagged enums
Diffstat (limited to 'src/etc/natvis')
| -rw-r--r-- | src/etc/natvis/intrinsic.natvis | 38 | ||||
| -rw-r--r-- | src/etc/natvis/libcore.natvis | 17 |
2 files changed, 38 insertions, 17 deletions
diff --git a/src/etc/natvis/intrinsic.natvis b/src/etc/natvis/intrinsic.natvis index 030892a432b..45e36f929b4 100644 --- a/src/etc/natvis/intrinsic.natvis +++ b/src/etc/natvis/intrinsic.natvis @@ -149,4 +149,42 @@ <Synthetic Name="[...]"><DisplayString>...</DisplayString></Synthetic> </Expand> </Type> + <Type Name="_enum<*>"> + <Intrinsic Name="tag" Expression="Variant0.variant$" /> + <DisplayString Condition="tag() == 0">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 1" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 2" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 3" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 4" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 5" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 6" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 7" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 8" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 9" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 10" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 11" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 12" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 13" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 14" Optional="true">{tag(),en}</DisplayString> + <DisplayString Condition="tag() == 15" Optional="true">{tag(),en}</DisplayString> + + <Expand> + <ExpandedItem Condition="tag() == 0">Variant0</ExpandedItem> + <ExpandedItem Condition="tag() == 1" Optional="true">Variant1</ExpandedItem> + <ExpandedItem Condition="tag() == 2" Optional="true">Variant2</ExpandedItem> + <ExpandedItem Condition="tag() == 3" Optional="true">Variant3</ExpandedItem> + <ExpandedItem Condition="tag() == 4" Optional="true">Variant4</ExpandedItem> + <ExpandedItem Condition="tag() == 5" Optional="true">Variant5</ExpandedItem> + <ExpandedItem Condition="tag() == 6" Optional="true">Variant6</ExpandedItem> + <ExpandedItem Condition="tag() == 7" Optional="true">Variant7</ExpandedItem> + <ExpandedItem Condition="tag() == 8" Optional="true">Variant8</ExpandedItem> + <ExpandedItem Condition="tag() == 9" Optional="true">Variant9</ExpandedItem> + <ExpandedItem Condition="tag() == 10" Optional="true">Variant10</ExpandedItem> + <ExpandedItem Condition="tag() == 11" Optional="true">Variant11</ExpandedItem> + <ExpandedItem Condition="tag() == 12" Optional="true">Variant12</ExpandedItem> + <ExpandedItem Condition="tag() == 13" Optional="true">Variant13</ExpandedItem> + <ExpandedItem Condition="tag() == 14" Optional="true">Variant14</ExpandedItem> + <ExpandedItem Condition="tag() == 15" Optional="true">Variant15</ExpandedItem> + </Expand> + </Type> </AutoVisualizer> diff --git a/src/etc/natvis/libcore.natvis b/src/etc/natvis/libcore.natvis index 9c3c26f5978..17667770520 100644 --- a/src/etc/natvis/libcore.natvis +++ b/src/etc/natvis/libcore.natvis @@ -14,14 +14,6 @@ </Expand> </Type> - <Type Name="core::option::Option<*>"> - <DisplayString Condition="RUST$ENUM$DISR == 0x0">None</DisplayString> - <DisplayString Condition="RUST$ENUM$DISR == 0x1">Some({__0})</DisplayString> - <Expand> - <Item Name="[value]" ExcludeView="simple" Condition="RUST$ENUM$DISR == 1">__0</Item> - </Expand> - </Type> - <Type Name="core::option::Option<*>" Priority="MediumLow"> <DisplayString Condition="*(void**)this == nullptr">None</DisplayString> <DisplayString>Some({($T1 *)this})</DisplayString> @@ -30,15 +22,6 @@ </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> |
