use lua_latest_sys::{luaL_newstate, luaL_openlibs, lua_getglobal, lua_tostring};
use std::{
error::Error,
ffi::{CStr, CString},
};
fn main() -> Result<(), Box<dyn Error>> {
let l = unsafe { luaL_newstate() };
unsafe { luaL_openlibs(l) };
let version = CString::new("_VERSION")?;
unsafe { lua_getglobal(l, version.as_ptr()) };
let version_string_ptr = unsafe { lua_tostring(l, -1) };
let version_string = unsafe { CStr::from_ptr(version_string_ptr) }.to_str()?;
println!("{}", version_string);
Ok(())
}