use std::marker::PhantomData;
use future_form::{FutureForm, future_form};
trait Counter<K: FutureForm> {
fn next(&self) -> K::Future<'_, u32>;
}
struct Memory<K> {
_marker: PhantomData<K>,
}
#[future_form(Sendable, Sendable)]
impl<K: FutureForm> Counter<K> for Memory<K> {
fn next(&self) -> K::Future<'_, u32> {
K::from_future(async move { 42 })
}
}
fn main() {}