diff options
| author | Felix S. Klock II <pnkfelix@pnkfx.org> | 2021-05-11 15:18:09 -0400 |
|---|---|---|
| committer | Felix S. Klock II <pnkfelix@pnkfx.org> | 2021-05-11 15:18:09 -0400 |
| commit | 75d62931280ae8f2ad26b2812e151f8f49de407a (patch) | |
| tree | 8e274f053fee5e7cb64cdfab45f6b444c8b79d2a /compiler/rustc_ast_pretty/src | |
| parent | 2bafe96272bf22cd191c6a01741184b60063292d (diff) | |
| download | rust-75d62931280ae8f2ad26b2812e151f8f49de407a.tar.gz rust-75d62931280ae8f2ad26b2812e151f8f49de407a.zip | |
Re-add support for parsing (and pretty-printing) inner-attributes within body of a `match`.
In other words, we can do `match EXPR { #![inner_attr] ARM_1 ARM_2 ... }` again.
I believe this unbreaks the only four crates that crater flagged as broken by PR 83312.
(I am putting this up so that the lang-team can check it out and decide whether
it changes their mind about what to do regarding PR 83312.)
Diffstat (limited to 'compiler/rustc_ast_pretty/src')
| -rw-r--r-- | compiler/rustc_ast_pretty/src/pprust/state.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/rustc_ast_pretty/src/pprust/state.rs b/compiler/rustc_ast_pretty/src/pprust/state.rs index fdcb68cf421..bcb595f3a04 100644 --- a/compiler/rustc_ast_pretty/src/pprust/state.rs +++ b/compiler/rustc_ast_pretty/src/pprust/state.rs @@ -366,6 +366,10 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere self.print_either_attributes(attrs, ast::AttrStyle::Inner, false, true) } + fn print_inner_attributes_no_trailing_hardbreak(&mut self, attrs: &[ast::Attribute]) { + self.print_either_attributes(attrs, ast::AttrStyle::Inner, false, false) + } + fn print_outer_attributes(&mut self, attrs: &[ast::Attribute]) { self.print_either_attributes(attrs, ast::AttrStyle::Outer, false, true) } @@ -1940,6 +1944,7 @@ impl<'a> State<'a> { self.print_expr_as_cond(expr); self.s.space(); self.bopen(); + self.print_inner_attributes_no_trailing_hardbreak(attrs); for arm in arms { self.print_arm(arm); } |
