dark-std 0.2.16

dark-std is an Implementation of asynchronous containers build on tokio. It uses a read-write separation design borrowed from Golang
Documentation
use dark_std::sync::WaitGroup;
use std::time::Duration;
use tokio::time::sleep;

#[tokio::test]
async fn test_wg() {
    let wg = WaitGroup::new();
    let wg2 = wg.clone();
    let start =std::time::Instant::now();
    tokio::spawn(async move {
        sleep(Duration::from_secs(5)).await;
        drop(wg2);
    });
    wg.wait_async().await;
    println!("all done {:?}",start.elapsed());
}

#[tokio::test]
async fn test_wg_zero() {
    let wg = WaitGroup::new();
    wg.wait_async().await;
    println!("all done");
}