]> git.lizzy.rs Git - rust.git/commit
Provide suggestions for some moved value errors
authorEsteban Küber <esteban@kuber.com.ar>
Sat, 20 Jun 2020 05:45:09 +0000 (22:45 -0700)
committerEsteban Küber <esteban@kuber.com.ar>
Thu, 25 Jun 2020 00:42:26 +0000 (17:42 -0700)
commit520461f1fb2730f8edb17922f3bcc74fccdc52d3
tree2bba242e5e3f2fd8cb6e5a3873dd44a866d2efce
parent67100f61e62a86f2bf9e38552ee138e231eddc74
Provide suggestions for some moved value errors

When encountering an used moved value where the previous move happened
in a `match` or `if let` pattern, suggest using `ref`. Fix #63988.

When encountering a `&mut` value that is used in multiple iterations of
a loop, suggest reborrowing it with `&mut *`. Fix #62112.
17 files changed:
src/librustc_mir/borrow_check/diagnostics/conflict_errors.rs
src/librustc_mir/borrow_check/diagnostics/explain_borrow.rs
src/librustc_mir/borrow_check/diagnostics/mod.rs
src/test/ui/borrowck/issue-41962.stderr
src/test/ui/borrowck/move-in-pattern-mut.rs [new file with mode: 0644]
src/test/ui/borrowck/move-in-pattern-mut.stderr [new file with mode: 0644]
src/test/ui/borrowck/move-in-pattern.fixed [new file with mode: 0644]
src/test/ui/borrowck/move-in-pattern.rs [new file with mode: 0644]
src/test/ui/borrowck/move-in-pattern.stderr [new file with mode: 0644]
src/test/ui/borrowck/mut-borrow-in-loop-2.fixed [new file with mode: 0644]
src/test/ui/borrowck/mut-borrow-in-loop-2.rs [new file with mode: 0644]
src/test/ui/borrowck/mut-borrow-in-loop-2.stderr [new file with mode: 0644]
src/test/ui/moves/moves-based-on-type-cyclic-types-issue-4821.stderr
src/test/ui/nll/issue-53807.stderr
src/test/ui/pattern/bindings-after-at/bind-by-move-neither-can-live-while-the-other-survives-1.stderr
src/test/ui/pattern/bindings-after-at/borrowck-pat-by-move-and-ref-inverse.stderr
src/test/ui/ref-suggestion.stderr