pub trait AsPin: Deref {
// Required method
fn as_pin(&mut self) -> Pin<&mut Self>;
}Expand description
Gets Pin out of value
§Usage:
use cute_async::AsPin;
use core::task;
use core::pin::Pin;
use core::future::Future;
pub struct MyFuture<T>(T);
impl<T: AsPin + Unpin + Future> Future for MyFuture<T> {
type Output = T::Output;
fn poll(mut self: Pin<&mut Self>, ctx: &mut task::Context<'_>) -> task::Poll<Self::Output> {
let inner = self.0.as_pin();
Future::poll(inner, ctx)
}
}Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.