rm ItemKind::OpaqueTy
This introduce an additional collection of opaques on HIR, as they can no longer be listed using the free item list.
This commit is contained in:
parent
4ec7839afa
commit
d6f247f3d5
45 changed files with 306 additions and 368 deletions
|
@ -96,6 +96,7 @@ impl<'a> State<'a> {
|
|||
Node::Ty(a) => self.print_type(a),
|
||||
Node::AssocItemConstraint(a) => self.print_assoc_item_constraint(a),
|
||||
Node::TraitRef(a) => self.print_trait_ref(a),
|
||||
Node::OpaqueTy(o) => self.print_opaque_ty(o),
|
||||
Node::Pat(a) => self.print_pat(a),
|
||||
Node::PatField(a) => self.print_patfield(a),
|
||||
Node::Arm(a) => self.print_arm(a),
|
||||
|
@ -568,11 +569,6 @@ impl<'a> State<'a> {
|
|||
state.print_type(ty);
|
||||
});
|
||||
}
|
||||
hir::ItemKind::OpaqueTy(opaque_ty) => {
|
||||
self.print_item_type(item, opaque_ty.generics, |state| {
|
||||
state.print_bounds("= impl", opaque_ty.bounds)
|
||||
});
|
||||
}
|
||||
hir::ItemKind::Enum(ref enum_definition, params) => {
|
||||
self.print_enum_def(enum_definition, params, item.ident.name, item.span);
|
||||
}
|
||||
|
@ -665,6 +661,15 @@ impl<'a> State<'a> {
|
|||
self.print_path(t.path, false);
|
||||
}
|
||||
|
||||
fn print_opaque_ty(&mut self, o: &hir::OpaqueTy<'_>) {
|
||||
self.head("opaque");
|
||||
self.print_generic_params(o.generics.params);
|
||||
self.print_where_clause(o.generics);
|
||||
self.word("{");
|
||||
self.print_bounds("impl", o.bounds);
|
||||
self.word("}");
|
||||
}
|
||||
|
||||
fn print_formal_generic_params(&mut self, generic_params: &[hir::GenericParam<'_>]) {
|
||||
if !generic_params.is_empty() {
|
||||
self.word("for");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue