Skip to content

Commit 387170c

Browse files
authored
Rollup merge of rust-lang#141740 - nnethercote:hir-ItemKind-field-order, r=fee1-dead
Hir item kind field order A follow-up to rust-lang#141675. r? `@fee1-dead`
2 parents ec39208 + aa3009d commit 387170c

File tree

45 files changed

+191
-193
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+191
-193
lines changed

compiler/rustc_ast_lowering/src/index.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ impl<'a, 'hir> Visitor<'hir> for NodeCollector<'a, 'hir> {
164164
fn visit_item(&mut self, i: &'hir Item<'hir>) {
165165
debug_assert_eq!(i.owner_id, self.owner);
166166
self.with_parent(i.hir_id(), |this| {
167-
if let ItemKind::Struct(_, struct_def, _) = &i.kind {
167+
if let ItemKind::Struct(_, _, struct_def) = &i.kind {
168168
// If this is a tuple or unit-like struct, register the constructor.
169169
if let Some(ctor_hir_id) = struct_def.ctor_hir_id() {
170170
this.insert(i.span, ctor_hir_id, Node::Ctor(struct_def));

compiler/rustc_ast_lowering/src/item.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
180180
let (ty, body_id) =
181181
self.lower_const_item(t, span, e.as_deref(), ImplTraitPosition::StaticTy);
182182
self.lower_define_opaque(hir_id, define_opaque);
183-
hir::ItemKind::Static(ident, ty, *m, body_id)
183+
hir::ItemKind::Static(*m, ident, ty, body_id)
184184
}
185185
ItemKind::Const(box ast::ConstItem {
186186
ident,
@@ -200,7 +200,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
200200
},
201201
);
202202
self.lower_define_opaque(hir_id, &define_opaque);
203-
hir::ItemKind::Const(ident, ty, generics, body_id)
203+
hir::ItemKind::Const(ident, generics, ty, body_id)
204204
}
205205
ItemKind::Fn(box Fn {
206206
sig: FnSig { decl, header, span: fn_sig_span },
@@ -304,7 +304,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
304304
),
305305
},
306306
);
307-
hir::ItemKind::TyAlias(ident, ty, generics)
307+
hir::ItemKind::TyAlias(ident, generics, ty)
308308
}
309309
ItemKind::Enum(ident, generics, enum_definition) => {
310310
let ident = self.lower_ident(*ident);
@@ -318,7 +318,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
318318
)
319319
},
320320
);
321-
hir::ItemKind::Enum(ident, hir::EnumDef { variants }, generics)
321+
hir::ItemKind::Enum(ident, generics, hir::EnumDef { variants })
322322
}
323323
ItemKind::Struct(ident, generics, struct_def) => {
324324
let ident = self.lower_ident(*ident);
@@ -328,7 +328,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
328328
ImplTraitContext::Disallowed(ImplTraitPosition::Generic),
329329
|this| this.lower_variant_data(hir_id, struct_def),
330330
);
331-
hir::ItemKind::Struct(ident, struct_def, generics)
331+
hir::ItemKind::Struct(ident, generics, struct_def)
332332
}
333333
ItemKind::Union(ident, generics, vdata) => {
334334
let ident = self.lower_ident(*ident);
@@ -338,7 +338,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
338338
ImplTraitContext::Disallowed(ImplTraitPosition::Generic),
339339
|this| this.lower_variant_data(hir_id, vdata),
340340
);
341-
hir::ItemKind::Union(ident, vdata, generics)
341+
hir::ItemKind::Union(ident, generics, vdata)
342342
}
343343
ItemKind::Impl(box Impl {
344344
safety,
@@ -467,8 +467,8 @@ impl<'hir> LoweringContext<'_, 'hir> {
467467
ItemKind::Delegation(box delegation) => {
468468
let delegation_results = self.lower_delegation(delegation, id, false);
469469
hir::ItemKind::Fn {
470-
ident: delegation_results.ident,
471470
sig: delegation_results.sig,
471+
ident: delegation_results.ident,
472472
generics: delegation_results.generics,
473473
body: delegation_results.body_id,
474474
has_body: true,

compiler/rustc_hir/src/hir.rs

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4106,11 +4106,11 @@ impl<'hir> Item<'hir> {
41064106

41074107
expect_use, (&'hir UsePath<'hir>, UseKind), ItemKind::Use(p, uk), (p, *uk);
41084108

4109-
expect_static, (Ident, &'hir Ty<'hir>, Mutability, BodyId),
4110-
ItemKind::Static(ident, ty, mutbl, body), (*ident, ty, *mutbl, *body);
4109+
expect_static, (Mutability, Ident, &'hir Ty<'hir>, BodyId),
4110+
ItemKind::Static(mutbl, ident, ty, body), (*mutbl, *ident, ty, *body);
41114111

4112-
expect_const, (Ident, &'hir Ty<'hir>, &'hir Generics<'hir>, BodyId),
4113-
ItemKind::Const(ident, ty, generics, body), (*ident, ty, generics, *body);
4112+
expect_const, (Ident, &'hir Generics<'hir>, &'hir Ty<'hir>, BodyId),
4113+
ItemKind::Const(ident, generics, ty, body), (*ident, generics, ty, *body);
41144114

41154115
expect_fn, (Ident, &FnSig<'hir>, &'hir Generics<'hir>, BodyId),
41164116
ItemKind::Fn { ident, sig, generics, body, .. }, (*ident, sig, generics, *body);
@@ -4125,17 +4125,17 @@ impl<'hir> Item<'hir> {
41254125

41264126
expect_global_asm, &'hir InlineAsm<'hir>, ItemKind::GlobalAsm { asm, .. }, asm;
41274127

4128-
expect_ty_alias, (Ident, &'hir Ty<'hir>, &'hir Generics<'hir>),
4129-
ItemKind::TyAlias(ident, ty, generics), (*ident, ty, generics);
4128+
expect_ty_alias, (Ident, &'hir Generics<'hir>, &'hir Ty<'hir>),
4129+
ItemKind::TyAlias(ident, generics, ty), (*ident, generics, ty);
41304130

4131-
expect_enum, (Ident, &EnumDef<'hir>, &'hir Generics<'hir>),
4132-
ItemKind::Enum(ident, def, generics), (*ident, def, generics);
4131+
expect_enum, (Ident, &'hir Generics<'hir>, &EnumDef<'hir>),
4132+
ItemKind::Enum(ident, generics, def), (*ident, generics, def);
41334133

4134-
expect_struct, (Ident, &VariantData<'hir>, &'hir Generics<'hir>),
4135-
ItemKind::Struct(ident, data, generics), (*ident, data, generics);
4134+
expect_struct, (Ident, &'hir Generics<'hir>, &VariantData<'hir>),
4135+
ItemKind::Struct(ident, generics, data), (*ident, generics, data);
41364136

4137-
expect_union, (Ident, &VariantData<'hir>, &'hir Generics<'hir>),
4138-
ItemKind::Union(ident, data, generics), (*ident, data, generics);
4137+
expect_union, (Ident, &'hir Generics<'hir>, &VariantData<'hir>),
4138+
ItemKind::Union(ident, generics, data), (*ident, generics, data);
41394139

41404140
expect_trait,
41414141
(
@@ -4278,13 +4278,13 @@ pub enum ItemKind<'hir> {
42784278
Use(&'hir UsePath<'hir>, UseKind),
42794279

42804280
/// A `static` item.
4281-
Static(Ident, &'hir Ty<'hir>, Mutability, BodyId),
4281+
Static(Mutability, Ident, &'hir Ty<'hir>, BodyId),
42824282
/// A `const` item.
4283-
Const(Ident, &'hir Ty<'hir>, &'hir Generics<'hir>, BodyId),
4283+
Const(Ident, &'hir Generics<'hir>, &'hir Ty<'hir>, BodyId),
42844284
/// A function declaration.
42854285
Fn {
4286-
ident: Ident,
42874286
sig: FnSig<'hir>,
4287+
ident: Ident,
42884288
generics: &'hir Generics<'hir>,
42894289
body: BodyId,
42904290
/// Whether this function actually has a body.
@@ -4309,13 +4309,13 @@ pub enum ItemKind<'hir> {
43094309
fake_body: BodyId,
43104310
},
43114311
/// A type alias, e.g., `type Foo = Bar<u8>`.
4312-
TyAlias(Ident, &'hir Ty<'hir>, &'hir Generics<'hir>),
4312+
TyAlias(Ident, &'hir Generics<'hir>, &'hir Ty<'hir>),
43134313
/// An enum definition, e.g., `enum Foo<A, B> { C<A>, D<B> }`.
4314-
Enum(Ident, EnumDef<'hir>, &'hir Generics<'hir>),
4314+
Enum(Ident, &'hir Generics<'hir>, EnumDef<'hir>),
43154315
/// A struct definition, e.g., `struct Foo<A> {x: A}`.
4316-
Struct(Ident, VariantData<'hir>, &'hir Generics<'hir>),
4316+
Struct(Ident, &'hir Generics<'hir>, VariantData<'hir>),
43174317
/// A union definition, e.g., `union Foo<A, B> {x: A, y: B}`.
4318-
Union(Ident, VariantData<'hir>, &'hir Generics<'hir>),
4318+
Union(Ident, &'hir Generics<'hir>, VariantData<'hir>),
43194319
/// A trait definition.
43204320
Trait(IsAuto, Safety, Ident, &'hir Generics<'hir>, GenericBounds<'hir>, &'hir [TraitItemRef]),
43214321
/// A trait alias.
@@ -4352,7 +4352,7 @@ impl ItemKind<'_> {
43524352
match *self {
43534353
ItemKind::ExternCrate(_, ident)
43544354
| ItemKind::Use(_, UseKind::Single(ident))
4355-
| ItemKind::Static(ident, ..)
4355+
| ItemKind::Static(_, ident, ..)
43564356
| ItemKind::Const(ident, ..)
43574357
| ItemKind::Fn { ident, .. }
43584358
| ItemKind::Macro(ident, ..)
@@ -4374,11 +4374,11 @@ impl ItemKind<'_> {
43744374
pub fn generics(&self) -> Option<&Generics<'_>> {
43754375
Some(match self {
43764376
ItemKind::Fn { generics, .. }
4377-
| ItemKind::TyAlias(_, _, generics)
4378-
| ItemKind::Const(_, _, generics, _)
4379-
| ItemKind::Enum(_, _, generics)
4380-
| ItemKind::Struct(_, _, generics)
4381-
| ItemKind::Union(_, _, generics)
4377+
| ItemKind::TyAlias(_, generics, _)
4378+
| ItemKind::Const(_, generics, _, _)
4379+
| ItemKind::Enum(_, generics, _)
4380+
| ItemKind::Struct(_, generics, _)
4381+
| ItemKind::Union(_, generics, _)
43824382
| ItemKind::Trait(_, _, _, generics, _, _)
43834383
| ItemKind::TraitAlias(_, generics, _)
43844384
| ItemKind::Impl(Impl { generics, .. }) => generics,
@@ -4802,9 +4802,9 @@ impl<'hir> Node<'hir> {
48024802
pub fn ty(self) -> Option<&'hir Ty<'hir>> {
48034803
match self {
48044804
Node::Item(it) => match it.kind {
4805-
ItemKind::TyAlias(_, ty, _)
4806-
| ItemKind::Static(_, ty, _, _)
4807-
| ItemKind::Const(_, ty, _, _) => Some(ty),
4805+
ItemKind::TyAlias(_, _, ty)
4806+
| ItemKind::Static(_, _, ty, _)
4807+
| ItemKind::Const(_, _, ty, _) => Some(ty),
48084808
ItemKind::Impl(impl_item) => Some(&impl_item.self_ty),
48094809
_ => None,
48104810
},
@@ -4824,7 +4824,7 @@ impl<'hir> Node<'hir> {
48244824

48254825
pub fn alias_ty(self) -> Option<&'hir Ty<'hir>> {
48264826
match self {
4827-
Node::Item(Item { kind: ItemKind::TyAlias(_, ty, _), .. }) => Some(ty),
4827+
Node::Item(Item { kind: ItemKind::TyAlias(_, _, ty), .. }) => Some(ty),
48284828
_ => None,
48294829
}
48304830
}

compiler/rustc_hir/src/intravisit.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -545,15 +545,15 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item<'v>) -> V::
545545
UseKind::Glob | UseKind::ListStem => {}
546546
}
547547
}
548-
ItemKind::Static(ident, ref typ, _, body) => {
548+
ItemKind::Static(_, ident, ref typ, body) => {
549549
try_visit!(visitor.visit_ident(ident));
550550
try_visit!(visitor.visit_ty_unambig(typ));
551551
try_visit!(visitor.visit_nested_body(body));
552552
}
553-
ItemKind::Const(ident, ref typ, ref generics, body) => {
553+
ItemKind::Const(ident, ref generics, ref typ, body) => {
554554
try_visit!(visitor.visit_ident(ident));
555-
try_visit!(visitor.visit_ty_unambig(typ));
556555
try_visit!(visitor.visit_generics(generics));
556+
try_visit!(visitor.visit_ty_unambig(typ));
557557
try_visit!(visitor.visit_nested_body(body));
558558
}
559559
ItemKind::Fn { ident, sig, generics, body: body_id, .. } => {
@@ -583,12 +583,12 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item<'v>) -> V::
583583
// typeck results set correctly.
584584
try_visit!(visitor.visit_nested_body(fake_body));
585585
}
586-
ItemKind::TyAlias(ident, ref ty, ref generics) => {
586+
ItemKind::TyAlias(ident, ref generics, ref ty) => {
587587
try_visit!(visitor.visit_ident(ident));
588-
try_visit!(visitor.visit_ty_unambig(ty));
589588
try_visit!(visitor.visit_generics(generics));
589+
try_visit!(visitor.visit_ty_unambig(ty));
590590
}
591-
ItemKind::Enum(ident, ref enum_definition, ref generics) => {
591+
ItemKind::Enum(ident, ref generics, ref enum_definition) => {
592592
try_visit!(visitor.visit_ident(ident));
593593
try_visit!(visitor.visit_generics(generics));
594594
try_visit!(visitor.visit_enum_def(enum_definition));
@@ -609,8 +609,8 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item<'v>) -> V::
609609
try_visit!(visitor.visit_ty_unambig(self_ty));
610610
walk_list!(visitor, visit_impl_item_ref, *items);
611611
}
612-
ItemKind::Struct(ident, ref struct_definition, ref generics)
613-
| ItemKind::Union(ident, ref struct_definition, ref generics) => {
612+
ItemKind::Struct(ident, ref generics, ref struct_definition)
613+
| ItemKind::Union(ident, ref generics, ref struct_definition) => {
614614
try_visit!(visitor.visit_ident(ident));
615615
try_visit!(visitor.visit_generics(generics));
616616
try_visit!(visitor.visit_variant_data(struct_definition));

compiler/rustc_hir_analysis/src/check/wfcheck.rs

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -297,32 +297,30 @@ fn check_item<'tcx>(tcx: TyCtxt<'tcx>, item: &'tcx hir::Item<'tcx>) -> Result<()
297297
hir::ItemKind::Fn { ident, sig, .. } => {
298298
check_item_fn(tcx, def_id, ident, item.span, sig.decl)
299299
}
300-
hir::ItemKind::Static(_, ty, ..) => {
300+
hir::ItemKind::Static(_, _, ty, _) => {
301301
check_static_item(tcx, def_id, ty.span, UnsizedHandling::Forbid)
302302
}
303-
hir::ItemKind::Const(_, ty, ..) => check_const_item(tcx, def_id, ty.span, item.span),
304-
hir::ItemKind::Struct(_, _, hir_generics) => {
303+
hir::ItemKind::Const(_, _, ty, _) => check_const_item(tcx, def_id, ty.span, item.span),
304+
hir::ItemKind::Struct(_, generics, _) => {
305305
let res = check_type_defn(tcx, item, false);
306-
check_variances_for_type_defn(tcx, item, hir_generics);
306+
check_variances_for_type_defn(tcx, item, generics);
307307
res
308308
}
309-
hir::ItemKind::Union(_, _, hir_generics) => {
309+
hir::ItemKind::Union(_, generics, _) => {
310310
let res = check_type_defn(tcx, item, true);
311-
check_variances_for_type_defn(tcx, item, hir_generics);
311+
check_variances_for_type_defn(tcx, item, generics);
312312
res
313313
}
314-
hir::ItemKind::Enum(_, _, hir_generics) => {
314+
hir::ItemKind::Enum(_, generics, _) => {
315315
let res = check_type_defn(tcx, item, true);
316-
check_variances_for_type_defn(tcx, item, hir_generics);
316+
check_variances_for_type_defn(tcx, item, generics);
317317
res
318318
}
319319
hir::ItemKind::Trait(..) => check_trait(tcx, item),
320320
hir::ItemKind::TraitAlias(..) => check_trait(tcx, item),
321321
// `ForeignItem`s are handled separately.
322322
hir::ItemKind::ForeignMod { .. } => Ok(()),
323-
hir::ItemKind::TyAlias(_, hir_ty, hir_generics)
324-
if tcx.type_alias_is_lazy(item.owner_id) =>
325-
{
323+
hir::ItemKind::TyAlias(_, generics, hir_ty) if tcx.type_alias_is_lazy(item.owner_id) => {
326324
let res = enter_wf_checking_ctxt(tcx, item.span, def_id, |wfcx| {
327325
let ty = tcx.type_of(def_id).instantiate_identity();
328326
let item_ty =
@@ -335,7 +333,7 @@ fn check_item<'tcx>(tcx: TyCtxt<'tcx>, item: &'tcx hir::Item<'tcx>) -> Result<()
335333
check_where_clauses(wfcx, item.span, def_id);
336334
Ok(())
337335
});
338-
check_variances_for_type_defn(tcx, item, hir_generics);
336+
check_variances_for_type_defn(tcx, item, generics);
339337
res
340338
}
341339
_ => Ok(()),

compiler/rustc_hir_analysis/src/collect.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -248,13 +248,13 @@ fn reject_placeholder_type_signatures_in_item<'tcx>(
248248
item: &'tcx hir::Item<'tcx>,
249249
) {
250250
let (generics, suggest) = match &item.kind {
251-
hir::ItemKind::Union(_, _, generics)
252-
| hir::ItemKind::Enum(_, _, generics)
251+
hir::ItemKind::Union(_, generics, _)
252+
| hir::ItemKind::Enum(_, generics, _)
253253
| hir::ItemKind::TraitAlias(_, generics, _)
254254
| hir::ItemKind::Trait(_, _, _, generics, ..)
255255
| hir::ItemKind::Impl(hir::Impl { generics, .. })
256-
| hir::ItemKind::Struct(_, _, generics) => (generics, true),
257-
hir::ItemKind::TyAlias(_, _, generics) => (generics, false),
256+
| hir::ItemKind::Struct(_, generics, _) => (generics, true),
257+
hir::ItemKind::TyAlias(_, generics, _) => (generics, false),
258258
// `static`, `fn` and `const` are handled elsewhere to suggest appropriate type.
259259
_ => return,
260260
};
@@ -470,9 +470,9 @@ impl<'tcx> HirTyLowerer<'tcx> for ItemCtxt<'tcx> {
470470
.tcx
471471
.hir_expect_item(self.tcx.hir_get_parent_item(self.hir_id()).def_id);
472472
match &item.kind {
473-
hir::ItemKind::Enum(_, _, generics)
474-
| hir::ItemKind::Struct(_, _, generics)
475-
| hir::ItemKind::Union(_, _, generics) => {
473+
hir::ItemKind::Enum(_, generics, _)
474+
| hir::ItemKind::Struct(_, generics, _)
475+
| hir::ItemKind::Union(_, generics, _) => {
476476
let lt_name = get_new_lifetime_name(self.tcx, poly_trait_ref, generics);
477477
let (lt_sp, sugg) = match generics.params {
478478
[] => (generics.span, format!("<{lt_name}>")),
@@ -740,7 +740,7 @@ fn lower_item(tcx: TyCtxt<'_>, item_id: hir::ItemId) {
740740
tcx.at(it.span).explicit_super_predicates_of(def_id);
741741
tcx.ensure_ok().predicates_of(def_id);
742742
}
743-
hir::ItemKind::Struct(_, struct_def, _) | hir::ItemKind::Union(_, struct_def, _) => {
743+
hir::ItemKind::Struct(_, _, struct_def) | hir::ItemKind::Union(_, _, struct_def) => {
744744
tcx.ensure_ok().generics_of(def_id);
745745
tcx.ensure_ok().type_of(def_id);
746746
tcx.ensure_ok().predicates_of(def_id);
@@ -762,7 +762,7 @@ fn lower_item(tcx: TyCtxt<'_>, item_id: hir::ItemId) {
762762
tcx.ensure_ok().predicates_of(def_id);
763763
}
764764

765-
hir::ItemKind::Static(_, ty, ..) | hir::ItemKind::Const(_, ty, ..) => {
765+
hir::ItemKind::Static(_, _, ty, _) | hir::ItemKind::Const(_, _, ty, _) => {
766766
tcx.ensure_ok().generics_of(def_id);
767767
tcx.ensure_ok().type_of(def_id);
768768
tcx.ensure_ok().predicates_of(def_id);
@@ -1093,7 +1093,7 @@ fn adt_def(tcx: TyCtxt<'_>, def_id: LocalDefId) -> ty::AdtDef<'_> {
10931093

10941094
let repr = tcx.repr_options_of_def(def_id);
10951095
let (kind, variants) = match &item.kind {
1096-
ItemKind::Enum(_, def, _) => {
1096+
ItemKind::Enum(_, _, def) => {
10971097
let mut distance_from_explicit = 0;
10981098
let variants = def
10991099
.variants
@@ -1121,7 +1121,7 @@ fn adt_def(tcx: TyCtxt<'_>, def_id: LocalDefId) -> ty::AdtDef<'_> {
11211121

11221122
(AdtKind::Enum, variants)
11231123
}
1124-
ItemKind::Struct(ident, def, _) | ItemKind::Union(ident, def, _) => {
1124+
ItemKind::Struct(ident, _, def) | ItemKind::Union(ident, _, def) => {
11251125
let adt_kind = match item.kind {
11261126
ItemKind::Struct(..) => AdtKind::Struct,
11271127
_ => AdtKind::Union,

compiler/rustc_hir_analysis/src/collect/resolve_bound_vars.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -634,11 +634,11 @@ impl<'a, 'tcx> Visitor<'tcx> for BoundVarContext<'a, 'tcx> {
634634
// These sorts of items have no lifetime parameters at all.
635635
intravisit::walk_item(self, item);
636636
}
637-
hir::ItemKind::TyAlias(_, _, generics)
638-
| hir::ItemKind::Const(_, _, generics, _)
639-
| hir::ItemKind::Enum(_, _, generics)
640-
| hir::ItemKind::Struct(_, _, generics)
641-
| hir::ItemKind::Union(_, _, generics)
637+
hir::ItemKind::TyAlias(_, generics, _)
638+
| hir::ItemKind::Const(_, generics, _, _)
639+
| hir::ItemKind::Enum(_, generics, _)
640+
| hir::ItemKind::Struct(_, generics, _)
641+
| hir::ItemKind::Union(_, generics, _)
642642
| hir::ItemKind::Trait(_, _, _, generics, ..)
643643
| hir::ItemKind::TraitAlias(_, generics, ..)
644644
| hir::ItemKind::Impl(&hir::Impl { generics, .. }) => {

0 commit comments

Comments
 (0)