update rust crates to 2024 edition

This commit is contained in:
bytedream 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 = "wasm"
version = "0.1.0"
edition = "2021"
edition = "2024"
[lib]
crate-type = ["cdylib"]

View File

@ -1,9 +1,9 @@
#![warn(clippy::missing_safety_doc)]
#![allow(clippy::missing_safety_doc)]
use mlua::Lua;
use std::ffi::{c_char, c_int, CStr};
use std::ffi::{CStr, c_char, c_int};
#[no_mangle]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn execute(program: *const c_char, argc: c_int, argv: *const *const c_char) {
let lua = Lua::new();
let lua_globals = lua.globals();
@ -13,12 +13,12 @@ pub unsafe extern "C" fn execute(program: *const c_char, argc: c_int, argv: *con
arg.set(-1, "mlua").unwrap();
arg.set(0, "execute").unwrap();
for i in 0..argc {
let argv_arg = CStr::from_ptr(*argv.offset(i as isize));
let argv_arg = unsafe { CStr::from_ptr(*argv.offset(i as isize)) };
arg.push(argv_arg.to_str().unwrap()).unwrap();
}
lua_globals.set("arg", arg).unwrap();
let exec = CStr::from_ptr(program).to_str().unwrap();
let exec = unsafe { CStr::from_ptr(program).to_str().unwrap() };
if let Err(err) = lua.load(exec).exec() {
eprintln!("{}", err)
}

View File

@ -1,7 +1,7 @@
[package]
name = "example-binary"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]
mlua = { version = ">=0.9.3", features = ["lua51", "vendored"] }

View File

@ -1,5 +1,7 @@
fn main() {
let lua = mlua::Lua::new();
lua.load(r#"print("Hello from WebAssembly Lua!")"#).exec().unwrap();
lua.load(r#"print("Hello from WebAssembly Lua!")"#)
.exec()
.unwrap();
}

View File

@ -1,7 +1,7 @@
[package]
name = "example-library"
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)
}
}

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)
}
}