floop 0.1.2

A more convenient and less error prone replacement for loop `{ select! { .. }}`
Documentation
use std::time::Duration;

use floop::floop;
use smol::{Timer, block_on};

struct NotCopy(i32);

#[test]
fn vars_from_before() {
    let mut counter = 0;
    
    let future = floop! {
        unbiased
        before => let new_value = NotCopy(counter + 1),
        _ in Timer::after(Duration::from_millis(20)) => {
            #[expect(clippy::redundant_locals)]
            let new_value = new_value;
            counter = new_value.0;
            if counter == 9 {
                break;
            }
        }
        _ in Timer::after(Duration::from_millis(17)) => {
            #[expect(clippy::redundant_locals)]
            let new_value = new_value;
            counter = new_value.0;
            if counter == 10 {
                break;
            }
        }
    };

    block_on(future);

    assert_eq!(counter, 10)
}