llzk-sys 30.1.0

Rust bindings to the LLZK C API.
use mlir_sys::{mlirPassManagerAddOwnedPass, mlirPassManagerCreate, mlirPassManagerDestroy};
use rstest::rstest;

use crate::{
    mlirCreateLLZKValidationMemberWriteValidatorPass,
    sanity_tests::{TestContext, context},
};

#[rstest]
fn test_mlir_register_validation_passes_and_create(context: TestContext) {
    unsafe {
        let manager = mlirPassManagerCreate(context.ctx);

        let pass = mlirCreateLLZKValidationMemberWriteValidatorPass();
        mlirPassManagerAddOwnedPass(manager, pass);

        mlirPassManagerDestroy(manager);
    }
}

#[rstest]
fn test_mlir_register_validation_field_write_validator_pass_and_create(context: TestContext) {
    unsafe {
        let manager = mlirPassManagerCreate(context.ctx);

        let pass = mlirCreateLLZKValidationMemberWriteValidatorPass();
        mlirPassManagerAddOwnedPass(manager, pass);

        mlirPassManagerDestroy(manager);
    }
}