iridium-db 0.3.0

A high-performance vector-graph hybrid storage and indexing engine
#[cfg(all(feature = "zig", has_zig))]
extern "C" {
    fn iridium_zig_noop() -> i32;
}

pub fn zig_available() -> bool {
    cfg!(all(feature = "zig", has_zig))
}

#[cfg(all(feature = "zig", has_zig))]
pub fn zig_noop() -> i32 {
    unsafe { iridium_zig_noop() }
}

#[cfg(all(feature = "zig", not(has_zig)))]
pub fn zig_noop() -> i32 {
    panic!("Zig support requested but not built by build.rs");
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    #[cfg(all(feature = "zig", has_zig))]
    fn zig_noop_returns_zero() {
        assert_eq!(zig_noop(), 0);
        assert!(zig_available());
    }
}