22 lines
386 B
Rust
22 lines
386 B
Rust
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;
|
|
}
|
|
}
|