pub async fn forward<S: Clone + PartialEq, T>(
progress: Receiver<Option<Progress<S>>>,
work: impl Future<Output = T>,
report: impl Fn(Progress<S>),
) -> TExpand description
Run work to its end, calling report on this task with the progress
it reports into progress. A host that redraws more slowly than work
reports sees the newest value, never an older one after it; a report
made just before work ends is still delivered, and none twice. What
the watch held before progress subscribed belongs to an earlier
operation and is never delivered.