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>; } })) }