Pretty-print parenthesis around binary in postfix match
Signed-off-by: Sasha Pourcelot <sasha.pourcelot@protonmail.com>
This commit is contained in:
parent
7f2fc33da6
commit
c8ff8a4dc7
@ -488,7 +488,7 @@ pub(super) fn print_expr_outer_attr_style(
|
|||||||
self.space();
|
self.space();
|
||||||
}
|
}
|
||||||
MatchKind::Postfix => {
|
MatchKind::Postfix => {
|
||||||
self.print_expr_as_cond(expr);
|
self.print_expr_maybe_paren(expr, parser::PREC_POSTFIX, fixup);
|
||||||
self.word_nbsp(".match");
|
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