diff --git a/compiler/rustc_ast_pretty/src/pprust/state.rs b/compiler/rustc_ast_pretty/src/pprust/state.rs index f0c1d017326cd..c2253e63356a4 100644 --- a/compiler/rustc_ast_pretty/src/pprust/state.rs +++ b/compiler/rustc_ast_pretty/src/pprust/state.rs @@ -1285,14 +1285,17 @@ impl<'a> State<'a> { self.print_visibility(&item.vis); self.print_defaultness(defaultness); self.print_unsafety(unsafety); - self.word_nbsp("impl"); - self.print_constness(constness); + self.word("impl"); - if !generics.params.is_empty() { + if generics.params.is_empty() { + self.nbsp(); + } else { self.print_generic_params(&generics.params); self.space(); } + self.print_constness(constness); + if let ast::ImplPolarity::Negative(_) = polarity { self.word("!"); } diff --git a/src/test/ui/macros/stringify.rs b/src/test/ui/macros/stringify.rs index 88305d22d7798..e2f47e0af54b2 100644 --- a/src/test/ui/macros/stringify.rs +++ b/src/test/ui/macros/stringify.rs @@ -603,7 +603,7 @@ fn test_item() { stringify_item!( impl Struct {} ), - "impl Struct {}", // FIXME + "impl Struct {}", ); assert_eq!( stringify_item!( @@ -615,7 +615,7 @@ fn test_item() { stringify_item!( impl const Trait for T {} ), - "impl const Trait for T {}", // FIXME + "impl const Trait for T {}", ); assert_eq!( stringify_item!(