]> git.lizzy.rs Git - rust.git/blob - src/etc/natvis/liballoc.natvis
Auto merge of #68448 - maurer:dyn-cdylib, r=alexcrichton
[rust.git] / src / etc / natvis / liballoc.natvis
1 <?xml version="1.0" encoding="utf-8"?>
2 <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
3   <Type Name="alloc::vec::Vec&lt;*&gt;">
4     <DisplayString>{{ size={len} }}</DisplayString>
5     <Expand>
6       <Item Name="[size]" ExcludeView="simple">len</Item>
7       <Item Name="[capacity]" ExcludeView="simple">buf.cap</Item>
8       <ArrayItems>
9         <Size>len</Size>
10         <ValuePointer>buf.ptr.pointer</ValuePointer>
11       </ArrayItems>
12     </Expand>
13   </Type>
14   <Type Name="alloc::collections::vec_deque::VecDeque&lt;*&gt;">
15     <DisplayString>{{ size={tail &lt;= head ? head - tail : buf.cap - tail + head} }}</DisplayString>
16     <Expand>
17       <Item Name="[size]" ExcludeView="simple">tail &lt;= head ? head - tail : buf.cap - tail + head</Item>
18       <Item Name="[capacity]" ExcludeView="simple">buf.cap</Item>
19       <CustomListItems>
20         <Variable Name="i" InitialValue="tail" />
21
22         <Size>tail &lt;= head ? head - tail : buf.cap - tail + head</Size>
23         <Loop>
24           <If Condition="i == head">
25             <Break/>
26           </If>
27           <Item>buf.ptr.pointer[i]</Item>
28           <Exec>i = (i + 1 == buf.cap ? 0 : i + 1)</Exec>
29         </Loop>
30       </CustomListItems>
31     </Expand>
32   </Type>
33   <Type Name="alloc::collections::linked_list::LinkedList&lt;*&gt;">
34     <DisplayString>{{ size={len} }}</DisplayString>
35     <Expand>
36       <LinkedListItems>
37         <Size>len</Size>
38         <HeadPointer>*(alloc::collections::linked_list::Node&lt;$T1&gt; **)&amp;head</HeadPointer>
39         <NextPointer>*(alloc::collections::linked_list::Node&lt;$T1&gt; **)&amp;next</NextPointer>
40         <ValueNode>element</ValueNode>
41       </LinkedListItems>
42     </Expand>
43   </Type>
44   <Type Name="alloc::string::String">
45     <DisplayString>{*(char**)this,[vec.len]s8}</DisplayString>
46     <StringView>*(char**)this,[vec.len]s8</StringView>
47     <Expand>
48       <Item Name="[size]" ExcludeView="simple">vec.len</Item>
49       <Item Name="[capacity]" ExcludeView="simple">vec.buf.cap</Item>
50       <ArrayItems>
51         <Size>vec.len</Size>
52         <ValuePointer>*(char**)this</ValuePointer>
53       </ArrayItems>
54     </Expand>
55   </Type>
56 </AutoVisualizer>