1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
car = {
"type": "Struct",
"typename": "object::Car",
"fields": {
"brand": {
"type": "String",
"typename": "&str",
"value": "Ford"
},
"engine": {
"type": "Struct",
"typename": "object::Engine",
"fields": {
"config": {
"type": "Union",
"typeinfo": {
"name": "object::EngineConfig",
"variants": [
"Inline",
"Vshape"
]
},
"variant": "Inline",
"fields": {
"i": {
"type": "Prim",
"typename": "i32",
"value": 4
}
}
},
"pistons": {
"type": "Array",
"typename": "vec",
"data": [
{
"type": "Struct",
"typename": "object::Piston",
"fields": {
"0": {
"type": "Prim",
"typename": "u8",
"value": 1
}
}
},
{
"type": "Struct",
"typename": "object::Piston",
"fields": {
"0": {
"type": "Prim",
"typename": "u8",
"value": 2
}
}
},
{
"type": "Struct",
"typename": "object::Piston",
"fields": {
"0": {
"type": "Prim",
"typename": "u8",
"value": 3
}
}
},
{
"type": "Struct",
"typename": "object::Piston",
"fields": {
"0": {
"type": "Prim",
"typename": "u8",
"value": 4
}
}
}
]
}
}
},
"gearbox": {
"type": "Enum",
"typename": "object::Gearbox",
"variant": "Manual"
}
}
}
car = {
"type": "Struct",
"typename": "object::Car",
"fields": {
"brand": {
"type": "String",
"typename": "&str",
"value": "Mazda"
},
"engine": {
"type": "Struct",
"typename": "object::Engine",
"fields": {
"config": {
"type": "Union",
"typeinfo": {
"name": "object::EngineConfig",
"variants": [
"Inline",
"Vshape"
]
},
"variant": "Vshape",
"fields": {
"0": {
"type": "Prim",
"typename": "i16",
"value": 3
},
"1": {
"type": "Prim",
"typename": "i16",
"value": 3
}
}
},
"pistons": {
"type": "Array",
"typename": "vec",
"data": []
}
}
},
"gearbox": {
"type": "Enum",
"typename": "object::Gearbox",
"variant": "Automatic"
}
}
}