Skip to content

Commit b915820

Browse files
committed
Auto merge of #44951 - vitiral:incr_struct_defs, r=michaelwoerister
incr compilation struct_defs.rs I am prematurely openeing this as I need mentoring help from @michaelwoerister (also pinged @nikomatsakis) First, is this the right approach for these changes? Second, I'm a bit confused by the results so far. - Changing `TupleStructFieldType(i32)` -> `...(u32)` changes only Hir and HirBody, not TypeOfItem - Chaning `TupleStructAddField(i32)` -> `...(i32, u32)` *does* change TypeOfItem This seems wrong. I feel like it should change TypeOfItem in both cases. Is this a bug in incr compilation or is it expected?
2 parents f5e036a + c5c3614 commit b915820

File tree

1 file changed

+177
-4
lines changed

1 file changed

+177
-4
lines changed

src/test/incremental/hashes/struct_defs.rs

+177-4
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,15 @@ pub struct LayoutPacked;
3636

3737
#[cfg(not(cfail1))]
3838
#[rustc_dirty(label="Hir", cfg="cfail2")]
39+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
40+
#[rustc_dirty(label="TypeOfItem", cfg="cfail2")]
41+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
42+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
3943
#[rustc_clean(label="Hir", cfg="cfail3")]
44+
#[rustc_clean(label="HirBody", cfg="cfail3")]
45+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
46+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
47+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
4048
#[rustc_metadata_dirty(cfg="cfail2")]
4149
#[rustc_metadata_clean(cfg="cfail3")]
4250
#[repr(packed)]
@@ -47,7 +55,15 @@ struct LayoutC;
4755

4856
#[cfg(not(cfail1))]
4957
#[rustc_dirty(label="Hir", cfg="cfail2")]
58+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
59+
#[rustc_dirty(label="TypeOfItem", cfg="cfail2")]
60+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
61+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
5062
#[rustc_clean(label="Hir", cfg="cfail3")]
63+
#[rustc_clean(label="HirBody", cfg="cfail3")]
64+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
65+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
66+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
5167
#[rustc_metadata_dirty(cfg="cfail2")]
5268
#[rustc_metadata_clean(cfg="cfail3")]
5369
#[repr(C)]
@@ -61,9 +77,19 @@ struct TupleStructFieldType(i32);
6177

6278
#[cfg(not(cfail1))]
6379
#[rustc_dirty(label="Hir", cfg="cfail2")]
80+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
81+
#[rustc_clean(label="TypeOfItem", cfg="cfail2")]
82+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
83+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
6484
#[rustc_clean(label="Hir", cfg="cfail3")]
85+
#[rustc_clean(label="HirBody", cfg="cfail3")]
86+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
87+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
88+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
6589
#[rustc_metadata_clean(cfg="cfail2")]
6690
#[rustc_metadata_clean(cfg="cfail3")]
91+
// Note that changing the type of a field does not change the type of the struct or enum, but
92+
// adding/removing fields or changing a fields name or visibility does.
6793
struct TupleStructFieldType(
6894
#[rustc_metadata_dirty(cfg="cfail2")]
6995
#[rustc_metadata_clean(cfg="cfail3")]
@@ -78,7 +104,15 @@ struct TupleStructAddField(i32);
78104

79105
#[cfg(not(cfail1))]
80106
#[rustc_dirty(label="Hir", cfg="cfail2")]
107+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
108+
#[rustc_dirty(label="TypeOfItem", cfg="cfail2")]
109+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
110+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
81111
#[rustc_clean(label="Hir", cfg="cfail3")]
112+
#[rustc_clean(label="HirBody", cfg="cfail3")]
113+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
114+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
115+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
82116
#[rustc_metadata_dirty(cfg="cfail2")]
83117
#[rustc_metadata_clean(cfg="cfail3")]
84118
struct TupleStructAddField(
@@ -97,7 +131,15 @@ struct TupleStructFieldVisibility(char);
97131

98132
#[cfg(not(cfail1))]
99133
#[rustc_dirty(label="Hir", cfg="cfail2")]
134+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
135+
#[rustc_dirty(label="TypeOfItem", cfg="cfail2")]
136+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
137+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
100138
#[rustc_clean(label="Hir", cfg="cfail3")]
139+
#[rustc_clean(label="HirBody", cfg="cfail3")]
140+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
141+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
142+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
101143
#[rustc_metadata_dirty(cfg="cfail2")]
102144
#[rustc_metadata_clean(cfg="cfail3")]
103145
struct TupleStructFieldVisibility(pub char);
@@ -110,9 +152,19 @@ struct RecordStructFieldType { x: f32 }
110152

111153
#[cfg(not(cfail1))]
112154
#[rustc_dirty(label="Hir", cfg="cfail2")]
155+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
156+
#[rustc_clean(label="TypeOfItem", cfg="cfail2")]
157+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
158+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
113159
#[rustc_clean(label="Hir", cfg="cfail3")]
160+
#[rustc_clean(label="HirBody", cfg="cfail3")]
161+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
162+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
163+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
114164
#[rustc_metadata_clean(cfg="cfail2")]
115165
#[rustc_metadata_clean(cfg="cfail3")]
166+
// Note that changing the type of a field does not change the type of the struct or enum, but
167+
// adding/removing fields or changing a fields name or visibility does.
116168
struct RecordStructFieldType {
117169
#[rustc_metadata_dirty(cfg="cfail2")]
118170
#[rustc_metadata_clean(cfg="cfail3")]
@@ -127,7 +179,15 @@ struct RecordStructFieldName { x: f32 }
127179

128180
#[cfg(not(cfail1))]
129181
#[rustc_dirty(label="Hir", cfg="cfail2")]
182+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
183+
#[rustc_dirty(label="TypeOfItem", cfg="cfail2")]
184+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
185+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
130186
#[rustc_clean(label="Hir", cfg="cfail3")]
187+
#[rustc_clean(label="HirBody", cfg="cfail3")]
188+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
189+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
190+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
131191
#[rustc_metadata_dirty(cfg="cfail2")]
132192
#[rustc_metadata_clean(cfg="cfail3")]
133193
struct RecordStructFieldName { y: f32 }
@@ -140,7 +200,15 @@ struct RecordStructAddField { x: f32 }
140200

141201
#[cfg(not(cfail1))]
142202
#[rustc_dirty(label="Hir", cfg="cfail2")]
203+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
204+
#[rustc_dirty(label="TypeOfItem", cfg="cfail2")]
205+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
206+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
143207
#[rustc_clean(label="Hir", cfg="cfail3")]
208+
#[rustc_clean(label="HirBody", cfg="cfail3")]
209+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
210+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
211+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
144212
#[rustc_metadata_dirty(cfg="cfail2")]
145213
#[rustc_metadata_clean(cfg="cfail3")]
146214
struct RecordStructAddField {
@@ -158,7 +226,15 @@ struct RecordStructFieldVisibility { x: f32 }
158226

159227
#[cfg(not(cfail1))]
160228
#[rustc_dirty(label="Hir", cfg="cfail2")]
229+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
230+
#[rustc_dirty(label="TypeOfItem", cfg="cfail2")]
231+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
232+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
161233
#[rustc_clean(label="Hir", cfg="cfail3")]
234+
#[rustc_clean(label="HirBody", cfg="cfail3")]
235+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
236+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
237+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
162238
#[rustc_metadata_dirty(cfg="cfail2")]
163239
#[rustc_metadata_clean(cfg="cfail3")]
164240
struct RecordStructFieldVisibility {
@@ -175,7 +251,15 @@ struct AddLifetimeParameter<'a>(&'a f32, &'a f64);
175251

176252
#[cfg(not(cfail1))]
177253
#[rustc_dirty(label="Hir", cfg="cfail2")]
254+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
255+
#[rustc_dirty(label="TypeOfItem", cfg="cfail2")]
256+
#[rustc_dirty(label="GenericsOfItem", cfg="cfail2")]
257+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
178258
#[rustc_clean(label="Hir", cfg="cfail3")]
259+
#[rustc_clean(label="HirBody", cfg="cfail3")]
260+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
261+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
262+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
179263
#[rustc_metadata_dirty(cfg="cfail2")]
180264
#[rustc_metadata_clean(cfg="cfail3")]
181265
struct AddLifetimeParameter<'a, 'b>(&'a f32, &'b f64);
@@ -188,7 +272,15 @@ struct AddLifetimeParameterBound<'a, 'b>(&'a f32, &'b f64);
188272

189273
#[cfg(not(cfail1))]
190274
#[rustc_dirty(label="Hir", cfg="cfail2")]
275+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
276+
#[rustc_clean(label="TypeOfItem", cfg="cfail2")]
277+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
278+
#[rustc_dirty(label="PredicatesOfItem", cfg="cfail2")]
191279
#[rustc_clean(label="Hir", cfg="cfail3")]
280+
#[rustc_clean(label="HirBody", cfg="cfail3")]
281+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
282+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
283+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
192284
#[rustc_metadata_dirty(cfg="cfail2")]
193285
#[rustc_metadata_clean(cfg="cfail3")]
194286
struct AddLifetimeParameterBound<'a, 'b: 'a>(
@@ -205,7 +297,15 @@ struct AddLifetimeParameterBoundWhereClause<'a, 'b>(&'a f32, &'b f64);
205297

206298
#[cfg(not(cfail1))]
207299
#[rustc_dirty(label="Hir", cfg="cfail2")]
300+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
301+
#[rustc_clean(label="TypeOfItem", cfg="cfail2")]
302+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
303+
#[rustc_dirty(label="PredicatesOfItem", cfg="cfail2")]
208304
#[rustc_clean(label="Hir", cfg="cfail3")]
305+
#[rustc_clean(label="HirBody", cfg="cfail3")]
306+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
307+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
308+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
209309
#[rustc_metadata_dirty(cfg="cfail2")]
210310
#[rustc_metadata_clean(cfg="cfail3")]
211311
struct AddLifetimeParameterBoundWhereClause<'a, 'b>(
@@ -225,7 +325,15 @@ struct AddTypeParameter<T1>(T1, T1);
225325

226326
#[cfg(not(cfail1))]
227327
#[rustc_dirty(label="Hir", cfg="cfail2")]
328+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
329+
#[rustc_dirty(label="TypeOfItem", cfg="cfail2")]
330+
#[rustc_dirty(label="GenericsOfItem", cfg="cfail2")]
331+
#[rustc_dirty(label="PredicatesOfItem", cfg="cfail2")]
228332
#[rustc_clean(label="Hir", cfg="cfail3")]
333+
#[rustc_clean(label="HirBody", cfg="cfail3")]
334+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
335+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
336+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
229337
#[rustc_metadata_dirty(cfg="cfail2")]
230338
#[rustc_metadata_clean(cfg="cfail3")]
231339
struct AddTypeParameter<T1, T2>(
@@ -247,7 +355,15 @@ struct AddTypeParameterBound<T>(T);
247355

248356
#[cfg(not(cfail1))]
249357
#[rustc_dirty(label="Hir", cfg="cfail2")]
358+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
359+
#[rustc_clean(label="TypeOfItem", cfg="cfail2")]
360+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
361+
#[rustc_dirty(label="PredicatesOfItem", cfg="cfail2")]
250362
#[rustc_clean(label="Hir", cfg="cfail3")]
363+
#[rustc_clean(label="HirBody", cfg="cfail3")]
364+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
365+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
366+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
251367
#[rustc_metadata_dirty(cfg="cfail2")]
252368
#[rustc_metadata_clean(cfg="cfail3")]
253369
struct AddTypeParameterBound<T: Send>(
@@ -262,7 +378,15 @@ struct AddTypeParameterBoundWhereClause<T>(T);
262378

263379
#[cfg(not(cfail1))]
264380
#[rustc_dirty(label="Hir", cfg="cfail2")]
381+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
382+
#[rustc_clean(label="TypeOfItem", cfg="cfail2")]
383+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
384+
#[rustc_dirty(label="PredicatesOfItem", cfg="cfail2")]
265385
#[rustc_clean(label="Hir", cfg="cfail3")]
386+
#[rustc_clean(label="HirBody", cfg="cfail3")]
387+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
388+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
389+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
266390
#[rustc_metadata_dirty(cfg="cfail2")]
267391
#[rustc_metadata_clean(cfg="cfail3")]
268392
struct AddTypeParameterBoundWhereClause<T>(
@@ -273,8 +397,20 @@ struct AddTypeParameterBoundWhereClause<T>(
273397

274398

275399
// Empty struct ----------------------------------------------------------------
276-
400+
// Since we cannot change anything in this case, we just make sure that the
401+
// fingerprint is stable (i.e. that there are no random influences like memory
402+
// addresses taken into account by the hashing algorithm).
403+
// Note: there is no #[cfg(...)], so this is ALWAYS compiled
277404
#[rustc_clean(label="Hir", cfg="cfail2")]
405+
#[rustc_clean(label="HirBody", cfg="cfail2")]
406+
#[rustc_clean(label="TypeOfItem", cfg="cfail2")]
407+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
408+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
409+
#[rustc_clean(label="Hir", cfg="cfail3")]
410+
#[rustc_clean(label="HirBody", cfg="cfail3")]
411+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
412+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
413+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
278414
#[rustc_metadata_clean(cfg="cfail2")]
279415
pub struct EmptyStruct;
280416

@@ -286,14 +422,19 @@ struct Visibility;
286422

287423
#[cfg(not(cfail1))]
288424
#[rustc_dirty(label="Hir", cfg="cfail2")]
425+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
426+
#[rustc_clean(label="TypeOfItem", cfg="cfail2")]
427+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
428+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
289429
#[rustc_clean(label="Hir", cfg="cfail3")]
430+
#[rustc_clean(label="HirBody", cfg="cfail3")]
431+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
432+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
433+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
290434
#[rustc_metadata_dirty(cfg="cfail2")]
291435
#[rustc_metadata_clean(cfg="cfail3")]
292436
pub struct Visibility;
293437

294-
295-
296-
297438
struct ReferencedType1;
298439
struct ReferencedType2;
299440

@@ -305,7 +446,15 @@ mod tuple_struct_change_field_type_indirectly {
305446
use super::ReferencedType2 as FieldType;
306447

307448
#[rustc_dirty(label="Hir", cfg="cfail2")]
449+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
450+
#[rustc_clean(label="TypeOfItem", cfg="cfail2")]
451+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
452+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
308453
#[rustc_clean(label="Hir", cfg="cfail3")]
454+
#[rustc_clean(label="HirBody", cfg="cfail3")]
455+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
456+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
457+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
309458
#[rustc_metadata_clean(cfg="cfail2")]
310459
#[rustc_metadata_clean(cfg="cfail3")]
311460
struct TupleStruct(
@@ -324,7 +473,15 @@ mod record_struct_change_field_type_indirectly {
324473
use super::ReferencedType2 as FieldType;
325474

326475
#[rustc_dirty(label="Hir", cfg="cfail2")]
476+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
477+
#[rustc_clean(label="TypeOfItem", cfg="cfail2")]
478+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
479+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail2")]
327480
#[rustc_clean(label="Hir", cfg="cfail3")]
481+
#[rustc_clean(label="HirBody", cfg="cfail3")]
482+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
483+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
484+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
328485
#[rustc_metadata_clean(cfg="cfail2")]
329486
#[rustc_metadata_clean(cfg="cfail3")]
330487
struct RecordStruct {
@@ -348,7 +505,15 @@ mod change_trait_bound_indirectly {
348505
use super::ReferencedTrait2 as Trait;
349506

350507
#[rustc_dirty(label="Hir", cfg="cfail2")]
508+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
509+
#[rustc_clean(label="TypeOfItem", cfg="cfail2")]
510+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
511+
#[rustc_dirty(label="PredicatesOfItem", cfg="cfail2")]
351512
#[rustc_clean(label="Hir", cfg="cfail3")]
513+
#[rustc_clean(label="HirBody", cfg="cfail3")]
514+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
515+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
516+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
352517
#[rustc_metadata_dirty(cfg="cfail2")]
353518
#[rustc_metadata_clean(cfg="cfail3")]
354519
struct Struct<T: Trait>(T);
@@ -362,7 +527,15 @@ mod change_trait_bound_indirectly_in_where_clause {
362527
use super::ReferencedTrait2 as Trait;
363528

364529
#[rustc_dirty(label="Hir", cfg="cfail2")]
530+
#[rustc_dirty(label="HirBody", cfg="cfail2")]
531+
#[rustc_clean(label="TypeOfItem", cfg="cfail2")]
532+
#[rustc_clean(label="GenericsOfItem", cfg="cfail2")]
533+
#[rustc_dirty(label="PredicatesOfItem", cfg="cfail2")]
365534
#[rustc_clean(label="Hir", cfg="cfail3")]
535+
#[rustc_clean(label="HirBody", cfg="cfail3")]
536+
#[rustc_clean(label="TypeOfItem", cfg="cfail3")]
537+
#[rustc_clean(label="GenericsOfItem", cfg="cfail3")]
538+
#[rustc_clean(label="PredicatesOfItem", cfg="cfail3")]
366539
#[rustc_metadata_dirty(cfg="cfail2")]
367540
#[rustc_metadata_clean(cfg="cfail3")]
368541
struct Struct<T>(T) where T : Trait;

0 commit comments

Comments
 (0)