anym 0.0.0

To emulate anonymous `struct` in Rust.
Documentation
use anym::anym;
fn main() {
    let v1 = {
        let (x, y) = coor();
        anym!({ tag: tag(), x, y })
    };

    let v2 = {
        let (x, y) = coor();
        anym!({ tag: tag(), x, y })
    };

    println!("{}: ({}, {})", v1.tag, v1.x, v1.y);
    println!("{}: ({}, {})", v2.tag, v2.x, v2.y);
}

fn coor() -> (u32, u32) {
    let gen = || {
        std::thread::sleep(std::time::Duration::from_millis(70));
        ((epoch() % 100000_u128) / 1000) as u32
    };
    (gen(), gen())
}

fn tag() -> String {
    let gen = || {
        std::thread::sleep(std::time::Duration::from_millis(70));
        ((epoch() % 25000_u128) / 1000) as u8 + 65_u8
    };
    String::from_utf8([gen(), gen(), gen()].to_vec()).unwrap()
}

fn epoch() -> u128 {
    std::time::SystemTime::now()
        .duration_since(std::time::UNIX_EPOCH)
        .unwrap()
        .as_nanos()
}