From ac727732150ea338ea38727263b69a5cbadf13a9 Mon Sep 17 00:00:00 2001 From: klensy Date: Wed, 16 Jun 2021 13:25:00 +0300 Subject: [PATCH] fix pretty print for `loop` in mir and hir --- compiler/rustc_ast_pretty/src/pprust/state.rs | 1 - compiler/rustc_hir_pretty/src/lib.rs | 1 - src/test/pretty/ast-stmt-expr-attr.rs | 2 +- src/test/pretty/hir-pretty-loop.pp | 9 +++++++++ src/test/pretty/hir-pretty-loop.rs | 9 +++++++++ src/test/pretty/stmt_expr_attributes.rs | 3 +-- 6 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 src/test/pretty/hir-pretty-loop.pp create mode 100644 src/test/pretty/hir-pretty-loop.rs diff --git a/compiler/rustc_ast_pretty/src/pprust/state.rs b/compiler/rustc_ast_pretty/src/pprust/state.rs index 93facd255df..7e58a599e2c 100644 --- a/compiler/rustc_ast_pretty/src/pprust/state.rs +++ b/compiler/rustc_ast_pretty/src/pprust/state.rs @@ -1950,7 +1950,6 @@ impl<'a> State<'a> { self.word_space(":"); } self.head("loop"); - self.s.space(); self.print_block_with_attrs(blk, attrs); } ast::ExprKind::Match(ref expr, ref arms) => { diff --git a/compiler/rustc_hir_pretty/src/lib.rs b/compiler/rustc_hir_pretty/src/lib.rs index 2b932b7c953..9b1aca13a6f 100644 --- a/compiler/rustc_hir_pretty/src/lib.rs +++ b/compiler/rustc_hir_pretty/src/lib.rs @@ -1538,7 +1538,6 @@ impl<'a> State<'a> { self.word_space(":"); } self.head("loop"); - self.s.space(); self.print_block(&blk); } hir::ExprKind::Match(ref expr, arms, _) => { diff --git a/src/test/pretty/ast-stmt-expr-attr.rs b/src/test/pretty/ast-stmt-expr-attr.rs index fb406514f4b..0c9ccfcf278 100644 --- a/src/test/pretty/ast-stmt-expr-attr.rs +++ b/src/test/pretty/ast-stmt-expr-attr.rs @@ -39,7 +39,7 @@ fn syntax() { #![attr] }; let _ = - #[attr] loop { + #[attr] loop { #![attr] }; let _ = diff --git a/src/test/pretty/hir-pretty-loop.pp b/src/test/pretty/hir-pretty-loop.pp new file mode 100644 index 00000000000..19b3a1775cf --- /dev/null +++ b/src/test/pretty/hir-pretty-loop.pp @@ -0,0 +1,9 @@ +#[prelude_import] +use ::std::prelude::rust_2015::*; +#[macro_use] +extern crate std; +// pretty-compare-only +// pretty-mode:hir +// pp-exact:hir-pretty-loop.pp + +pub fn foo() { loop { break ; } } diff --git a/src/test/pretty/hir-pretty-loop.rs b/src/test/pretty/hir-pretty-loop.rs new file mode 100644 index 00000000000..87a3ef8b8f9 --- /dev/null +++ b/src/test/pretty/hir-pretty-loop.rs @@ -0,0 +1,9 @@ +// pretty-compare-only +// pretty-mode:hir +// pp-exact:hir-pretty-loop.pp + +pub fn foo(){ + loop{ + break; + } +} diff --git a/src/test/pretty/stmt_expr_attributes.rs b/src/test/pretty/stmt_expr_attributes.rs index 54a8438f1d0..87692905f51 100644 --- a/src/test/pretty/stmt_expr_attributes.rs +++ b/src/test/pretty/stmt_expr_attributes.rs @@ -159,9 +159,8 @@ fn _11() { #[rustc_dummy] for _ in 0..0 { #![rustc_dummy] }; - // FIXME: pp bug, two spaces after the loop let _ = - #[rustc_dummy] loop { + #[rustc_dummy] loop { #![rustc_dummy] }; let _ = #[rustc_dummy] match false { _ => (), };