在Box
ed类型上实现AsyncRead
(Tokio)具有以下签名:
impl<T: ?Sized + AsyncRead + Unpin> AsyncRead for Box<T>
为什么这里的性状要求是Unpin
呢?为什么Box
还不足以保证地址的 solidity ?
在Box
ed类型上实现AsyncRead
(Tokio)具有以下签名:
impl<T: ?Sized + AsyncRead + Unpin> AsyncRead for Box<T>
为什么这里的性状要求是Unpin
呢?为什么Box
还不足以保证地址的 solidity ?
为什么在这里需要解锁受特性约束?
普通老式Box<T>
没有被钉住,因此它生成的任何异步操作都将要求底层T
不关心钉住(即IS Unpin
).
为什么Box还不能保证地址的 solidity ?
你可以在平坦的Box
度内移动或更换物体,这会打破 solidity 保证.Pin
不允许mut
在没有unsafe
的情况下访问,从而防止了值的转义.