Rollup merge of #124269 - scrabsha:sasha/fix-124206, r=dtolnay
Pretty-print parenthesis around binary in postfix match Fixes #124206.
This commit is contained in:
commit
f1c53da1cf
@ -488,7 +488,7 @@ pub(super) fn print_expr_outer_attr_style(
|
||||
self.space();
|
||||
}
|
||||
MatchKind::Postfix => {
|
||||
self.print_expr_as_cond(expr);
|
||||
self.print_expr_maybe_paren(expr, parser::PREC_POSTFIX, fixup);
|
||||
self.word_nbsp(".match");
|
||||
}
|
||||
}
|
||||
|
34
tests/pretty/postfix-match/precedence.pp
Normal file
34
tests/pretty/postfix-match/precedence.pp
Normal file
@ -0,0 +1,34 @@
|
||||
#![feature(prelude_import)]
|
||||
#![no_std]
|
||||
#![feature(postfix_match)]
|
||||
#[prelude_import]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
#[macro_use]
|
||||
extern crate std;
|
||||
|
||||
use std::ops::Add;
|
||||
|
||||
//@ pretty-mode:expanded
|
||||
//@ pp-exact:precedence.pp
|
||||
|
||||
macro_rules! repro { ($e:expr) => { $e.match { _ => {} } }; }
|
||||
|
||||
struct Struct {}
|
||||
|
||||
impl Add<Struct> for usize {
|
||||
type Output = ();
|
||||
fn add(self, _: Struct) -> () { () }
|
||||
}
|
||||
pub fn main() {
|
||||
let a;
|
||||
(
|
||||
{ 1 } + 1).match {
|
||||
_ => {}
|
||||
};
|
||||
(4 as usize).match { _ => {} };
|
||||
(return).match { _ => {} };
|
||||
(a = 42).match { _ => {} };
|
||||
(|| {}).match { _ => {} };
|
||||
(42..101).match { _ => {} };
|
||||
(1 + Struct {}).match { _ => {} };
|
||||
}
|
34
tests/pretty/postfix-match/precedence.rs
Normal file
34
tests/pretty/postfix-match/precedence.rs
Normal file
@ -0,0 +1,34 @@
|
||||
#![feature(postfix_match)]
|
||||
|
||||
use std::ops::Add;
|
||||
|
||||
//@ pretty-mode:expanded
|
||||
//@ pp-exact:precedence.pp
|
||||
|
||||
macro_rules! repro {
|
||||
($e:expr) => {
|
||||
$e.match {
|
||||
_ => {}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
struct Struct {}
|
||||
|
||||
impl Add<Struct> for usize {
|
||||
type Output = ();
|
||||
fn add(self, _: Struct) -> () {
|
||||
()
|
||||
}
|
||||
}
|
||||
pub fn main() {
|
||||
let a;
|
||||
|
||||
repro!({ 1 } + 1);
|
||||
repro!(4 as usize);
|
||||
repro!(return);
|
||||
repro!(a = 42);
|
||||
repro!(|| {});
|
||||
repro!(42..101);
|
||||
repro!(1 + Struct {});
|
||||
}
|
Loading…
Reference in New Issue
Block a user