1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
use crate::derive::*;
pub(crate) const NAME: &[&str] = &["Future"];
pub(crate) fn derive(data: &Data) -> Result<TokenStream> {
Ok(derive_trait(data, parse_quote!(::core::future::Future), None, parse_quote! {
trait Future {
type Output;
#[inline]
fn poll(
self: ::core::pin::Pin<&mut Self>,
cx: &mut ::core::task::Context<'_>,
) -> ::core::task::Poll<Self::Output>;
}
}))
}