floop 0.1.2

A more convenient and less error prone replacement for loop `{ select! { .. }}`
Documentation
use floop::floop;
use futures::future::ready;
use smol::block_on;

#[test]
fn unbiased() {
    // using a small integer ensures a infinite loop eventually panics due to a overflow.
    let mut counter: u16 = 0;
    let mut stop = false;
    let mut observed_counters =  Vec::new();
    
    let future = floop!{
        unbiased
        () in ready(()) => {
            if stop {
                break;
            }
            counter = counter.strict_add(1);
        }
        // this wouldn't run in a biased `floop` as the top branch is always ready.
        () in ready(()) => {
            observed_counters.push(counter);

            if counter == 10 {
                stop = true;
                break;
            }
        }
    };
    block_on(future);

    assert_eq!(observed_counters, (1..=10).collect::<Vec<_>>())
}