blob: 5a3c64255cc64a1604625314b0b2b5897c815de2 [file] [log] [blame] [edit]
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;
}
}