Add test
This commit is contained in:
parent
d3c4dbd85d
commit
90c9b57211
2 changed files with 32 additions and 0 deletions
17
src/test/ui/suggestions/suggest-mut-method-for-loop.rs
Normal file
17
src/test/ui/suggestions/suggest-mut-method-for-loop.rs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
use std::collections::HashMap;
|
||||
struct X(usize);
|
||||
struct Y {
|
||||
v: u32
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let mut buzz = HashMap::new();
|
||||
buzz.insert("a", Y { v: 0 });
|
||||
|
||||
for mut t in buzz.values() {
|
||||
//~^ HELP
|
||||
//~| SUGGESTION values_mut()
|
||||
t.v += 1;
|
||||
//~^ ERROR cannot assign
|
||||
}
|
||||
}
|
||||
15
src/test/ui/suggestions/suggest-mut-method-for-loop.stderr
Normal file
15
src/test/ui/suggestions/suggest-mut-method-for-loop.stderr
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
error[E0594]: cannot assign to `t.v` which is behind a `&` reference
|
||||
--> $DIR/suggest-mut-method-for-loop.rs:14:9
|
||||
|
|
||||
LL | for mut t in buzz.values() {
|
||||
| -------------
|
||||
| | |
|
||||
| | help: use mutable method: `values_mut()`
|
||||
| this iterator yields `&` references
|
||||
...
|
||||
LL | t.v += 1;
|
||||
| ^^^^^^^^ `t` is a `&` reference, so the data it refers to cannot be written
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0594`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue