Rust 引脚::as_mut(&mut self)

Rust 引脚::as_mut(&mut self),rust,Rust,从-pin.rs的来源: Pin::new_uncheckedself.pointer只返回一个Pin而不是Pin,不考虑解除强制。它还将尝试将指针移出self并导致编译器错误 使用*将把self.pointer解引用到p::Target中,&mut使其返回一个可变引用。Pin::new\u uncheckedself.pointer只返回一个Pin而不是Pin,不考虑解引用强制。它还将尝试将指针移出self并导致编译器错误 使用*将把self.pointer解引用到p::Target中,&mu

从-pin.rs的来源:

Pin::new_uncheckedself.pointer只返回一个Pin而不是Pin,不考虑解除强制。它还将尝试将指针移出self并导致编译器错误

使用*将把self.pointer解引用到p::Target中,&mut使其返回一个可变引用。

Pin::new\u uncheckedself.pointer只返回一个Pin而不是Pin,不考虑解引用强制。它还将尝试将指针移出self并导致编译器错误

使用*将把self.pointer解引用到p::Target中,&mut使其返回一个可变引用

impl<P: DerefMut> Pin<P> {
    ...
    pub fn as_mut(&mut self) -> Pin<&mut P::Target> {    
        unsafe { Pin::new_unchecked(&mut *self.pointer) }
    }
    ...
}
unsafe { Pin::new_unchecked(self.pointer) }