update rust crates to 2024 edition

This commit is contained in:
2025-03-01 23:43:31 +01:00
parent f033739bba
commit 28001a2040
10 changed files with 50 additions and 30 deletions

View File

@ -1,7 +1,7 @@
[package]
name = "lua-playground"
version = "0.1.0"
edition = "2021"
edition = "2024"
[lib]
crate-type = ["cdylib"]

View File

@ -2,7 +2,7 @@ use std::env;
use std::path::PathBuf;
fn main() {
let book_output_path = env::var("BOOK_OUTPUT_PATH").map_or(None, Some);
let book_output_path = env::var("BOOK_OUTPUT_PATH").ok();
let out_dir = env::var("OUT_DIR").unwrap();
let pkg_name = env::var("CARGO_PKG_NAME").unwrap();
@ -19,5 +19,12 @@ fn main() {
println!("cargo:rustc-link-arg=-sEXPORT_ES6=1");
println!("cargo:rustc-link-arg=-sERROR_ON_UNDEFINED_SYMBOLS=0");
println!("cargo:rustc-link-arg=--no-entry");
println!("cargo:rustc-link-arg=-o{}.js", book_output_path.map(PathBuf::from).unwrap_or(target_path).join(pkg_name).to_string_lossy());
println!(
"cargo:rustc-link-arg=-o{}.js",
book_output_path
.map(PathBuf::from)
.unwrap_or(target_path)
.join(pkg_name)
.to_string_lossy()
);
}

View File

@ -1,18 +1,20 @@
use std::ffi::{c_char, CStr};
use mlua::Lua;
#![allow(clippy::missing_safety_doc)]
#[no_mangle]
pub extern "C" fn lua_new() -> *mut Lua {
use mlua::Lua;
use std::ffi::{CStr, c_char};
#[unsafe(no_mangle)]
pub unsafe extern "C" fn lua_new() -> *mut Lua {
let lua = Lua::new();
Box::into_raw(Box::new(lua))
}
#[no_mangle]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn lua_execute(lua: *mut Lua, to_execute: *const c_char) {
let lua: &mut Lua = &mut *lua;
let to_execute = CStr::from_ptr(to_execute);
let lua: &mut Lua = unsafe { &mut *lua };
let to_execute = unsafe { CStr::from_ptr(to_execute) };
if let Err(err) = lua.load(&to_execute.to_string_lossy().to_string()).exec() {
if let Err(err) = lua.load(to_execute.to_string_lossy().to_string()).exec() {
eprintln!("{}", err)
}
}