21 lines
416 B
Rust
21 lines
416 B
Rust
|
//@ 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_mut().fold(0, |result, mut layer| result + layer.process())
|
||
|
//~^ ERROR cannot borrow `**layer` as mutable, as it is behind a `&` reference
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fn main() {}
|