Clean up E0501 explanation

This commit is contained in:
Guillaume Gomez
2020-04-02 13:30:19 +02:00
parent 98803c182b
commit 84c97ee9a0
+11 -9
View File
@@ -1,12 +1,4 @@
This error indicates that a mutable variable is being used while it is still
captured by a closure. Because the closure has borrowed the variable, it is not
available for use until the closure goes out of scope.
Note that a capture will either move or borrow a variable, but in this
situation, the closure is borrowing the variable. Take a look at the chapter
on [Capturing][capturing] in Rust By Example for more information.
[capturing]: https://doc.rust-lang.org/stable/rust-by-example/fn/closures/capture.html
A mutable variable is used but it is already captured by a closure.
Erroneous code example:
@@ -29,6 +21,16 @@ fn foo(a: &mut i32) {
}
```
This error indicates that a mutable variable is used while it is still captured
by a closure. Because the closure has borrowed the variable, it is not available
until the closure goes out of scope.
Note that a capture will either move or borrow a variable, but in this
situation, the closure is borrowing the variable. Take a look at the chapter
on [Capturing][capturing] in Rust By Example for more information.
[capturing]: https://doc.rust-lang.org/stable/rust-by-example/fn/closures/capture.html
To fix this error, you can finish using the closure before using the captured
variable: