Auto merge of #76585 - Aaron1011:ignore-vert-plus, r=petrochenkov
Ignore `|` and `+` tokens during proc-macro pretty-print check Fixes #76182 This is an alternative to PR #76188 These tokens are not preserved in the AST in certain cases (e.g. a leading `|` in a pattern or a trailing `+` in a trait bound). This PR ignores them entirely during the pretty-print/reparse check to avoid spuriously using the re-parsed tokenstream.
This commit is contained in:
@@ -364,6 +364,12 @@ pub fn tokenstream_probably_equal_for_proc_macro(
|
||||
| token::CloseDelim(DelimToken::NoDelim)
|
||||
// The pretty printer collapses many semicolons into one.
|
||||
| token::Semi
|
||||
// We don't preserve leading `|` tokens in patterns, so
|
||||
// we ignore them entirely
|
||||
| token::BinOp(token::BinOpToken::Or)
|
||||
// We don't preserve trailing '+' tokens in trait bounds,
|
||||
// so we ignore them entirely
|
||||
| token::BinOp(token::BinOpToken::Plus)
|
||||
// The pretty printer can turn `$crate` into `::crate_name`
|
||||
| token::ModSep = token.kind {
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user