rust/tests/ui/borrowck/issue-115259-suggest-iter-mut.rs

21 lines
412 B
Rust
Raw Normal View History

//@ run-rustfix
#![allow(unused_mut)]
#![allow(dead_code)]
pub trait Layer {
fn process(&mut self) -> u32;
}
pub struct State {
layers: Vec<Box<dyn Layer>>,
}
impl State {
pub fn process(&mut self) -> u32 {
self.layers.iter().fold(0, |result, mut layer| result + layer.process())
//~^ ERROR cannot borrow `**layer` as mutable, as it is behind a `&` reference
}
}
fn main() {}