Skip to content

Commit 5b7df09

Browse files
committed
pprust: Do not print spaces before some tokens
1 parent d760df5 commit 5b7df09

9 files changed

+24
-15
lines changed

src/libsyntax/print/pprust.rs

+13-1
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,18 @@ pub fn to_string<F>(f: F) -> String where
152152
printer.s.eof()
153153
}
154154

155+
// This makes comma-separated lists look slightly nicer,
156+
// and also addresses a specific regression described in issue #63896.
157+
fn tt_prepend_space(tt: &TokenTree) -> bool {
158+
match tt {
159+
TokenTree::Token(token) => match token.kind {
160+
token::Comma => false,
161+
_ => true,
162+
}
163+
_ => true,
164+
}
165+
}
166+
155167
fn binop_to_string(op: BinOpToken) -> &'static str {
156168
match op {
157169
token::Plus => "+",
@@ -696,7 +708,7 @@ pub trait PrintState<'a>: std::ops::Deref<Target=pp::Printer> + std::ops::DerefM
696708

697709
fn print_tts(&mut self, tts: tokenstream::TokenStream, convert_dollar_crate: bool) {
698710
for (i, tt) in tts.into_trees().enumerate() {
699-
if i != 0 {
711+
if i != 0 && tt_prepend_space(&tt) {
700712
self.space();
701713
}
702714
self.print_tt(tt, convert_dollar_crate);

src/test/pretty/attr-literals.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
#![feature(rustc_attrs)]
66

77
fn main() {
8-
#![rustc_dummy("hi" , 1 , 2 , 1.012 , pi = 3.14 , bye , name ("John"))]
8+
#![rustc_dummy("hi", 1, 2, 1.012, pi = 3.14, bye, name ("John"))]
99
#[rustc_dummy = 8]
1010
fn f() { }
1111

12-
#[rustc_dummy(1 , 2 , 3)]
12+
#[rustc_dummy(1, 2, 3)]
1313
fn g() { }
1414
}

src/test/pretty/block-comment-wchar.pp

+1-4
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,5 @@
9999
'\u{2004}', '\u{2005}', '\u{2006}', '\u{2007}', '\u{2008}',
100100
'\u{2009}', '\u{200A}', '\u{2028}', '\u{2029}', '\u{202F}',
101101
'\u{205F}', '\u{3000}'];
102-
for c in &chars {
103-
let ws = c.is_whitespace();
104-
println!("{} {}" , c , ws);
105-
}
102+
for c in &chars { let ws = c.is_whitespace(); println!("{} {}", c, ws); }
106103
}

src/test/pretty/delimited-token-groups.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
macro_rules! mac { ($ ($ tt : tt) *) => () }
66

77
mac! {
8-
struct S { field1 : u8 , field2 : u16 , } impl Clone for S
8+
struct S { field1 : u8, field2 : u16, } impl Clone for S
99
{
1010
fn clone () -> S
1111
{

src/test/pretty/do1.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
fn f<F>(f: F) where F: Fn(isize) { f(10) }
44

5-
fn main() { f(|i| { assert_eq!(i , 10) }) }
5+
fn main() { f(|i| { assert_eq!(i, 10) }) }

src/test/pretty/match-block-expr.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33
fn main() {
44
let x = match { 5 } { 1 => 5, 2 => 6, _ => 7, };
5-
assert_eq!(x , 7);
5+
assert_eq!(x, 7);
66
}

src/test/ui/macros/macro-first-set.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ macro_rules! foo_26444 {
2525
}
2626

2727
fn test_26444() {
28-
assert_eq!("a , b , c , d , e", foo_26444!(a, b; c; d, e));
28+
assert_eq!("a, b, c, d, e", foo_26444!(a, b; c; d, e));
2929
assert_eq!("f", foo_26444!(; f ;));
3030
}
3131

src/test/ui/proc-macro/auxiliary/attr-stmt-expr-rpass.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ pub fn expect_let(attr: TokenStream, item: TokenStream) -> TokenStream {
1717
#[proc_macro_attribute]
1818
pub fn expect_print_stmt(attr: TokenStream, item: TokenStream) -> TokenStream {
1919
assert!(attr.to_string().is_empty());
20-
assert_eq!(item.to_string(), "println!(\"{}\" , string);");
20+
assert_eq!(item.to_string(), "println!(\"{}\", string);");
2121
item
2222
}
2323

@@ -31,7 +31,7 @@ pub fn expect_expr(attr: TokenStream, item: TokenStream) -> TokenStream {
3131
#[proc_macro_attribute]
3232
pub fn expect_print_expr(attr: TokenStream, item: TokenStream) -> TokenStream {
3333
assert!(attr.to_string().is_empty());
34-
assert_eq!(item.to_string(), "println!(\"{}\" , string)");
34+
assert_eq!(item.to_string(), "println!(\"{}\", string)");
3535
item
3636
}
3737

src/test/ui/proc-macro/auxiliary/attr-stmt-expr.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ pub fn expect_let(attr: TokenStream, item: TokenStream) -> TokenStream {
1717
#[proc_macro_attribute]
1818
pub fn expect_print_stmt(attr: TokenStream, item: TokenStream) -> TokenStream {
1919
assert!(attr.to_string().is_empty());
20-
assert_eq!(item.to_string(), "println!(\"{}\" , string);");
20+
assert_eq!(item.to_string(), "println!(\"{}\", string);");
2121
item
2222
}
2323

@@ -31,7 +31,7 @@ pub fn expect_expr(attr: TokenStream, item: TokenStream) -> TokenStream {
3131
#[proc_macro_attribute]
3232
pub fn expect_print_expr(attr: TokenStream, item: TokenStream) -> TokenStream {
3333
assert!(attr.to_string().is_empty());
34-
assert_eq!(item.to_string(), "println!(\"{}\" , string)");
34+
assert_eq!(item.to_string(), "println!(\"{}\", string)");
3535
item
3636
}
3737

0 commit comments

Comments
 (0)