| struct DroppingSlice<'a>(&'a [i32]); | |
| impl Drop for DroppingSlice<'_> { | |
| fn drop(&mut self) { | |
| println!("hi from slice"); | |
| } | |
| } | |
| impl DroppingSlice<'_> { | |
| fn iter(&self) -> std::slice::Iter<'_, i32> { | |
| self.0.iter() | |
| } | |
| } | |
| fn main() { | |
| let mut v = vec![1, 2, 3, 4]; | |
| for x in DroppingSlice(&*v).iter() { | |
| v.push(*x); //~ERROR | |
| break; | |
| } | |
| } |