Skip to content

Commit abd80d9

Browse files
committed
reorder fields in Laout debug output
1 parent 98e52c2 commit abd80d9

7 files changed

+927
-926
lines changed

compiler/rustc_target/src/abi/mod.rs

+7-6
Original file line numberDiff line numberDiff line change
@@ -1279,13 +1279,14 @@ impl<'a> fmt::Debug for LayoutS<'a> {
12791279
// This is how `Layout` used to print before it become
12801280
// `Interned<LayoutS>`. We print it like this to avoid having to update
12811281
// expected output in a lot of tests.
1282+
let LayoutS { size, align, abi, fields, largest_niche, variants } = self;
12821283
f.debug_struct("Layout")
1283-
.field("fields", &self.fields)
1284-
.field("variants", &self.variants)
1285-
.field("abi", &self.abi)
1286-
.field("largest_niche", &self.largest_niche)
1287-
.field("align", &self.align)
1288-
.field("size", &self.size)
1284+
.field("size", size)
1285+
.field("align", align)
1286+
.field("abi", abi)
1287+
.field("fields", fields)
1288+
.field("largest_niche", largest_niche)
1289+
.field("variants", variants)
12891290
.finish()
12901291
}
12911292
}

src/test/ui/layout/debug.stderr

+121-121
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
error: layout_of(E) = Layout {
2+
size: Size(12 bytes),
3+
align: AbiAndPrefAlign {
4+
abi: Align(4 bytes),
5+
pref: $PREF_ALIGN,
6+
},
7+
abi: Aggregate {
8+
sized: true,
9+
},
210
fields: Arbitrary {
311
offsets: [
412
Size(0 bytes),
@@ -7,6 +15,16 @@ error: layout_of(E) = Layout {
715
0,
816
],
917
},
18+
largest_niche: Some(
19+
Niche {
20+
offset: Size(0 bytes),
21+
value: Int(
22+
I32,
23+
false,
24+
),
25+
valid_range: 0..=0,
26+
},
27+
),
1028
variants: Multiple {
1129
tag: Initialized {
1230
value: Int(
@@ -19,24 +37,30 @@ error: layout_of(E) = Layout {
1937
tag_field: 0,
2038
variants: [
2139
Layout {
40+
size: Size(4 bytes),
41+
align: AbiAndPrefAlign {
42+
abi: Align(1 bytes),
43+
pref: $PREF_ALIGN,
44+
},
45+
abi: Aggregate {
46+
sized: true,
47+
},
2248
fields: Arbitrary {
2349
offsets: [],
2450
memory_index: [],
2551
},
52+
largest_niche: None,
2653
variants: Single {
2754
index: 0,
2855
},
29-
abi: Aggregate {
30-
sized: true,
31-
},
32-
largest_niche: None,
56+
},
57+
Layout {
58+
size: Size(12 bytes),
3359
align: AbiAndPrefAlign {
34-
abi: Align(1 bytes),
60+
abi: Align(4 bytes),
3561
pref: $PREF_ALIGN,
3662
},
37-
size: Size(4 bytes),
38-
},
39-
Layout {
63+
abi: Uninhabited,
4064
fields: Arbitrary {
4165
offsets: [
4266
Size(4 bytes),
@@ -49,58 +73,24 @@ error: layout_of(E) = Layout {
4973
2,
5074
],
5175
},
76+
largest_niche: None,
5277
variants: Single {
5378
index: 1,
5479
},
55-
abi: Uninhabited,
56-
largest_niche: None,
57-
align: AbiAndPrefAlign {
58-
abi: Align(4 bytes),
59-
pref: $PREF_ALIGN,
60-
},
61-
size: Size(12 bytes),
6280
},
6381
],
6482
},
65-
abi: Aggregate {
66-
sized: true,
67-
},
68-
largest_niche: Some(
69-
Niche {
70-
offset: Size(0 bytes),
71-
value: Int(
72-
I32,
73-
false,
74-
),
75-
valid_range: 0..=0,
76-
},
77-
),
78-
align: AbiAndPrefAlign {
79-
abi: Align(4 bytes),
80-
pref: $PREF_ALIGN,
81-
},
82-
size: Size(12 bytes),
8383
}
8484
--> $DIR/debug.rs:6:1
8585
|
8686
LL | enum E { Foo, Bar(!, i32, i32) }
8787
| ^^^^^^
8888

8989
error: layout_of(S) = Layout {
90-
fields: Arbitrary {
91-
offsets: [
92-
Size(0 bytes),
93-
Size(0 bytes),
94-
Size(4 bytes),
95-
],
96-
memory_index: [
97-
1,
98-
0,
99-
2,
100-
],
101-
},
102-
variants: Single {
103-
index: 0,
90+
size: Size(8 bytes),
91+
align: AbiAndPrefAlign {
92+
abi: Align(4 bytes),
93+
pref: $PREF_ALIGN,
10494
},
10595
abi: ScalarPair(
10696
Initialized {
@@ -118,41 +108,72 @@ error: layout_of(S) = Layout {
118108
valid_range: 0..=4294967295,
119109
},
120110
),
111+
fields: Arbitrary {
112+
offsets: [
113+
Size(0 bytes),
114+
Size(0 bytes),
115+
Size(4 bytes),
116+
],
117+
memory_index: [
118+
1,
119+
0,
120+
2,
121+
],
122+
},
121123
largest_niche: None,
122-
align: AbiAndPrefAlign {
123-
abi: Align(4 bytes),
124-
pref: $PREF_ALIGN,
124+
variants: Single {
125+
index: 0,
125126
},
126-
size: Size(8 bytes),
127127
}
128128
--> $DIR/debug.rs:9:1
129129
|
130130
LL | struct S { f1: i32, f2: (), f3: i32 }
131131
| ^^^^^^^^
132132

133133
error: layout_of(U) = Layout {
134-
fields: Union(
135-
2,
136-
),
137-
variants: Single {
138-
index: 0,
134+
size: Size(8 bytes),
135+
align: AbiAndPrefAlign {
136+
abi: Align(4 bytes),
137+
pref: $PREF_ALIGN,
139138
},
140139
abi: Aggregate {
141140
sized: true,
142141
},
142+
fields: Union(
143+
2,
144+
),
143145
largest_niche: None,
144-
align: AbiAndPrefAlign {
145-
abi: Align(4 bytes),
146-
pref: $PREF_ALIGN,
146+
variants: Single {
147+
index: 0,
147148
},
148-
size: Size(8 bytes),
149149
}
150150
--> $DIR/debug.rs:12:1
151151
|
152152
LL | union U { f1: (i32, i32), f3: i32 }
153153
| ^^^^^^^
154154

155155
error: layout_of(std::result::Result<i32, i32>) = Layout {
156+
size: Size(8 bytes),
157+
align: AbiAndPrefAlign {
158+
abi: Align(4 bytes),
159+
pref: $PREF_ALIGN,
160+
},
161+
abi: ScalarPair(
162+
Initialized {
163+
value: Int(
164+
I32,
165+
false,
166+
),
167+
valid_range: 0..=1,
168+
},
169+
Initialized {
170+
value: Int(
171+
I32,
172+
true,
173+
),
174+
valid_range: 0..=4294967295,
175+
},
176+
),
156177
fields: Arbitrary {
157178
offsets: [
158179
Size(0 bytes),
@@ -161,6 +182,16 @@ error: layout_of(std::result::Result<i32, i32>) = Layout {
161182
0,
162183
],
163184
},
185+
largest_niche: Some(
186+
Niche {
187+
offset: Size(0 bytes),
188+
value: Int(
189+
I32,
190+
false,
191+
),
192+
valid_range: 0..=1,
193+
},
194+
),
164195
variants: Multiple {
165196
tag: Initialized {
166197
value: Int(
@@ -173,16 +204,10 @@ error: layout_of(std::result::Result<i32, i32>) = Layout {
173204
tag_field: 0,
174205
variants: [
175206
Layout {
176-
fields: Arbitrary {
177-
offsets: [
178-
Size(4 bytes),
179-
],
180-
memory_index: [
181-
0,
182-
],
183-
},
184-
variants: Single {
185-
index: 0,
207+
size: Size(8 bytes),
208+
align: AbiAndPrefAlign {
209+
abi: Align(4 bytes),
210+
pref: $PREF_ALIGN,
186211
},
187212
abi: ScalarPair(
188213
Initialized {
@@ -200,14 +225,6 @@ error: layout_of(std::result::Result<i32, i32>) = Layout {
200225
valid_range: 0..=4294967295,
201226
},
202227
),
203-
largest_niche: None,
204-
align: AbiAndPrefAlign {
205-
abi: Align(4 bytes),
206-
pref: $PREF_ALIGN,
207-
},
208-
size: Size(8 bytes),
209-
},
210-
Layout {
211228
fields: Arbitrary {
212229
offsets: [
213230
Size(4 bytes),
@@ -216,8 +233,16 @@ error: layout_of(std::result::Result<i32, i32>) = Layout {
216233
0,
217234
],
218235
},
236+
largest_niche: None,
219237
variants: Single {
220-
index: 1,
238+
index: 0,
239+
},
240+
},
241+
Layout {
242+
size: Size(8 bytes),
243+
align: AbiAndPrefAlign {
244+
abi: Align(4 bytes),
245+
pref: $PREF_ALIGN,
221246
},
222247
abi: ScalarPair(
223248
Initialized {
@@ -235,56 +260,32 @@ error: layout_of(std::result::Result<i32, i32>) = Layout {
235260
valid_range: 0..=4294967295,
236261
},
237262
),
263+
fields: Arbitrary {
264+
offsets: [
265+
Size(4 bytes),
266+
],
267+
memory_index: [
268+
0,
269+
],
270+
},
238271
largest_niche: None,
239-
align: AbiAndPrefAlign {
240-
abi: Align(4 bytes),
241-
pref: $PREF_ALIGN,
272+
variants: Single {
273+
index: 1,
242274
},
243-
size: Size(8 bytes),
244275
},
245276
],
246277
},
247-
abi: ScalarPair(
248-
Initialized {
249-
value: Int(
250-
I32,
251-
false,
252-
),
253-
valid_range: 0..=1,
254-
},
255-
Initialized {
256-
value: Int(
257-
I32,
258-
true,
259-
),
260-
valid_range: 0..=4294967295,
261-
},
262-
),
263-
largest_niche: Some(
264-
Niche {
265-
offset: Size(0 bytes),
266-
value: Int(
267-
I32,
268-
false,
269-
),
270-
valid_range: 0..=1,
271-
},
272-
),
273-
align: AbiAndPrefAlign {
274-
abi: Align(4 bytes),
275-
pref: $PREF_ALIGN,
276-
},
277-
size: Size(8 bytes),
278278
}
279279
--> $DIR/debug.rs:15:1
280280
|
281281
LL | type Test = Result<i32, i32>;
282282
| ^^^^^^^^^
283283

284284
error: layout_of(i32) = Layout {
285-
fields: Primitive,
286-
variants: Single {
287-
index: 0,
285+
size: Size(4 bytes),
286+
align: AbiAndPrefAlign {
287+
abi: Align(4 bytes),
288+
pref: $PREF_ALIGN,
288289
},
289290
abi: Scalar(
290291
Initialized {
@@ -295,12 +296,11 @@ error: layout_of(i32) = Layout {
295296
valid_range: 0..=4294967295,
296297
},
297298
),
299+
fields: Primitive,
298300
largest_niche: None,
299-
align: AbiAndPrefAlign {
300-
abi: Align(4 bytes),
301-
pref: $PREF_ALIGN,
301+
variants: Single {
302+
index: 0,
302303
},
303-
size: Size(4 bytes),
304304
}
305305
--> $DIR/debug.rs:18:1
306306
|

0 commit comments

Comments
 (0)