Rollup merge of #75292 - slanterns:cleanup-E0502, r=GuillaumeGomez

Clean up E0502

`ref` on an entire `let` pattern is discouraged, take a reference with `&` instead.
This commit is contained in:
Yuki Okushi 2020-08-09 06:41:39 +09:00 committed by GitHub
commit e6dfd308d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,7 +5,7 @@ Erroneous code example:
```compile_fail,E0502 ```compile_fail,E0502
fn bar(x: &mut i32) {} fn bar(x: &mut i32) {}
fn foo(a: &mut i32) { fn foo(a: &mut i32) {
let ref y = a; // a is borrowed as immutable. let y = &a; // a is borrowed as immutable.
bar(a); // error: cannot borrow `*a` as mutable because `a` is also borrowed bar(a); // error: cannot borrow `*a` as mutable because `a` is also borrowed
// as immutable // as immutable
println!("{}", y); println!("{}", y);
@ -19,7 +19,7 @@ variable before trying to access it mutably:
fn bar(x: &mut i32) {} fn bar(x: &mut i32) {}
fn foo(a: &mut i32) { fn foo(a: &mut i32) {
bar(a); bar(a);
let ref y = a; // ok! let y = &a; // ok!
println!("{}", y); println!("{}", y);
} }
``` ```