Fix pretty printing an AST representing &(mut ident)
`PatKind::Ref(PatKind::Ident(BindingMode::ByValue(Mutability::Mut), ..), ..)` is an AST representing `&(mut ident)`. It was errorneously printed as `&mut ident` which reparsed into a syntactically different AST. This affected help diagnostics in the parser.
This commit is contained in:
parent
b1964e60b7
commit
b05ab18aec
3 changed files with 28 additions and 1 deletions
|
|
@ -0,0 +1,9 @@
|
|||
// Regression test for correct pretty-printing of an AST representing `&(mut x)` in help
|
||||
// suggestion diagnostic.
|
||||
|
||||
fn main() {
|
||||
let mut &x = &0;
|
||||
//~^ ERROR `mut` must be attached to each individual binding
|
||||
//~| HELP add `mut` to each binding
|
||||
//~| SUGGESTION &(mut x)
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
error: `mut` must be attached to each individual binding
|
||||
--> $DIR/issue-80186-mut-binding-help-suggestion.rs:5:9
|
||||
|
|
||||
LL | let mut &x = &0;
|
||||
| ^^^^^^ help: add `mut` to each binding: `&(mut x)`
|
||||
|
|
||||
= note: `mut` may be followed by `variable` and `variable @ pattern`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue