cairo-native 0.8.0

A compiler to convert Cairo's IR Sierra code to MLIR and execute it.
fn init_dict(length: u64) -> Felt252Dict<felt252> {
    let mut balances: Felt252Dict<felt252> = Default::default();

    for i in 0..length {
        let x: felt252 = i.into();
        balances.insert(x, x);
    };

    return balances;
}

#[derive(Destruct)]
struct VM {
    marker: u64,
    dict: Felt252Dict<felt252>,
}

fn main() {
    let dict = init_dict(1000);
    let vm = VM {
        dict: dict,
        marker: 1,
    };

    let dups: u64 = 10000;
    let mut counter: u64 = 0;

    for _ in 0..dups {
        let vmsnap = @vm;
        let vmmarker = vmsnap.marker;
        counter += *vmmarker;
    };

    assert(
        counter == dups,
        'invalid result'
    );
}