这段程序依次输出哪三行?

来自 Pin 与 Unpin
Rust 1.98 进阶 2分钟

这段程序依次输出哪三行?

Rust
use std::marker::PhantomPinned;

struct State(&'static str, PhantomPinned);

impl Drop for State {
    fn drop(&mut self) {
        println!("drop {}", self.0);
    }
}

fn main() {
    let mut state = Box::pin(State("old", PhantomPinned));
    state.as_mut().set(State("new", PhantomPinned));
    println!("current {}", state.0);
}
在试验场中打开
报告错误