Revert #96682.
The change was "Show invisible delimiters (within comments) when pretty printing". It's useful to show these delimiters, but is a breaking change for some proc macros. Fixes #97608.
This commit is contained in:
parent
bef2b7cd1c
commit
77e1069a5d
17 changed files with 68 additions and 110 deletions
|
@ -50,12 +50,11 @@ pub enum Delimiter {
|
|||
Brace,
|
||||
/// `[ ... ]`
|
||||
Bracket,
|
||||
/// `/*«*/ ... /*»*/`
|
||||
/// `Ø ... Ø`
|
||||
/// An invisible delimiter, that may, for example, appear around tokens coming from a
|
||||
/// "macro variable" `$var`. It is important to preserve operator priorities in cases like
|
||||
/// `$var * 3` where `$var` is `1 + 2`.
|
||||
/// Invisible delimiters are not directly writable in normal Rust code except as comments.
|
||||
/// Therefore, they might not survive a roundtrip of a token stream through a string.
|
||||
/// Invisible delimiters might not survive roundtrip of a token stream through a string.
|
||||
Invisible,
|
||||
}
|
||||
|
||||
|
|
|
@ -590,29 +590,15 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
|
|||
self.nbsp();
|
||||
}
|
||||
self.word("{");
|
||||
let empty = tts.is_empty();
|
||||
if !empty {
|
||||
if !tts.is_empty() {
|
||||
self.space();
|
||||
}
|
||||
self.ibox(0);
|
||||
self.print_tts(tts, convert_dollar_crate);
|
||||
self.end();
|
||||
let empty = tts.is_empty();
|
||||
self.bclose(span, empty);
|
||||
}
|
||||
Some(Delimiter::Invisible) => {
|
||||
self.word("/*«*/");
|
||||
let empty = tts.is_empty();
|
||||
if !empty {
|
||||
self.space();
|
||||
}
|
||||
self.ibox(0);
|
||||
self.print_tts(tts, convert_dollar_crate);
|
||||
self.end();
|
||||
if !empty {
|
||||
self.space();
|
||||
}
|
||||
self.word("/*»*/");
|
||||
}
|
||||
Some(delim) => {
|
||||
let token_str = self.token_kind_to_string(&token::OpenDelim(delim));
|
||||
self.word(token_str);
|
||||
|
@ -786,8 +772,9 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
|
|||
token::CloseDelim(Delimiter::Bracket) => "]".into(),
|
||||
token::OpenDelim(Delimiter::Brace) => "{".into(),
|
||||
token::CloseDelim(Delimiter::Brace) => "}".into(),
|
||||
token::OpenDelim(Delimiter::Invisible) => "/*«*/".into(),
|
||||
token::CloseDelim(Delimiter::Invisible) => "/*»*/".into(),
|
||||
token::OpenDelim(Delimiter::Invisible) | token::CloseDelim(Delimiter::Invisible) => {
|
||||
"".into()
|
||||
}
|
||||
token::Pound => "#".into(),
|
||||
token::Dollar => "$".into(),
|
||||
token::Question => "?".into(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue