summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_hir_pretty
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_hir_pretty')
-rw-r--r--compiler/rustc_hir_pretty/src/lib.rs21
1 files changed, 10 insertions, 11 deletions
diff --git a/compiler/rustc_hir_pretty/src/lib.rs b/compiler/rustc_hir_pretty/src/lib.rs
index a699cd6c9..89efdc269 100644
--- a/compiler/rustc_hir_pretty/src/lib.rs
+++ b/compiler/rustc_hir_pretty/src/lib.rs
@@ -420,12 +420,13 @@ impl<'a> State<'a> {
fn print_associated_const(
&mut self,
ident: Ident,
+ generics: &hir::Generics<'_>,
ty: &hir::Ty<'_>,
default: Option<hir::BodyId>,
) {
- self.head("");
self.word_space("const");
self.print_ident(ident);
+ self.print_generic_params(generics.params);
self.word_space(":");
self.print_type(ty);
if let Some(expr) = default {
@@ -433,6 +434,7 @@ impl<'a> State<'a> {
self.word_space("=");
self.ann.nested(self, Nested::Body(expr));
}
+ self.print_where_clause(generics);
self.word(";")
}
@@ -532,9 +534,10 @@ impl<'a> State<'a> {
self.word(";");
self.end(); // end the outer cbox
}
- hir::ItemKind::Const(ty, expr) => {
+ hir::ItemKind::Const(ty, generics, expr) => {
self.head("const");
self.print_ident(item.ident);
+ self.print_generic_params(generics.params);
self.word_space(":");
self.print_type(ty);
self.space();
@@ -542,6 +545,7 @@ impl<'a> State<'a> {
self.word_space("=");
self.ann.nested(self, Nested::Body(expr));
+ self.print_where_clause(generics);
self.word(";");
self.end(); // end the outer cbox
}
@@ -622,7 +626,6 @@ impl<'a> State<'a> {
unsafety,
polarity,
defaultness,
- constness,
defaultness_span: _,
generics,
ref of_trait,
@@ -639,10 +642,6 @@ impl<'a> State<'a> {
self.space();
}
- if constness == hir::Constness::Const {
- self.word_nbsp("const");
- }
-
if let hir::ImplPolarity::Negative(_) = polarity {
self.word("!");
}
@@ -836,7 +835,7 @@ impl<'a> State<'a> {
self.print_outer_attributes(self.attrs(ti.hir_id()));
match ti.kind {
hir::TraitItemKind::Const(ty, default) => {
- self.print_associated_const(ti.ident, ty, default);
+ self.print_associated_const(ti.ident, ti.generics, ty, default);
}
hir::TraitItemKind::Fn(ref sig, hir::TraitFn::Required(arg_names)) => {
self.print_method_sig(ti.ident, sig, ti.generics, arg_names, None);
@@ -865,7 +864,7 @@ impl<'a> State<'a> {
match ii.kind {
hir::ImplItemKind::Const(ty, expr) => {
- self.print_associated_const(ii.ident, ty, Some(expr));
+ self.print_associated_const(ii.ident, ii.generics, ty, Some(expr));
}
hir::ImplItemKind::Fn(ref sig, body) => {
self.head("");
@@ -1522,7 +1521,7 @@ impl<'a> State<'a> {
self.word(".");
self.print_ident(ident);
}
- hir::ExprKind::Index(expr, index) => {
+ hir::ExprKind::Index(expr, index, _) => {
self.print_expr_maybe_paren(expr, parser::PREC_POSTFIX);
self.word("[");
self.print_expr(index);
@@ -2415,7 +2414,7 @@ fn contains_exterior_struct_lit(value: &hir::Expr<'_>) -> bool {
| hir::ExprKind::Cast(x, _)
| hir::ExprKind::Type(x, _)
| hir::ExprKind::Field(x, _)
- | hir::ExprKind::Index(x, _) => {
+ | hir::ExprKind::Index(x, _, _) => {
// `&X { y: 1 }, X { y: 1 }.y`
contains_exterior_struct_lit(x)
}