mirror of
https://github.com/mlua-rs/mlua
synced 2026-06-08 16:05:43 +00:00
Add Lua 5.4 (rc2) support
This commit is contained in:
+1
-1
@@ -7,7 +7,7 @@ fn test_gc_control() -> Result<()> {
|
||||
let lua = Lua::new();
|
||||
let globals = lua.globals();
|
||||
|
||||
#[cfg(any(feature = "lua53", feature = "lua52"))]
|
||||
#[cfg(any(feature = "lua54", feature = "lua53", feature = "lua52"))]
|
||||
{
|
||||
assert!(lua.gc_is_running());
|
||||
lua.gc_stop();
|
||||
|
||||
+8
-3
@@ -389,7 +389,7 @@ fn test_num_conversion() -> Result<()> {
|
||||
|
||||
assert_eq!(lua.load("1.0").eval::<i64>()?, 1);
|
||||
assert_eq!(lua.load("1.0").eval::<f64>()?, 1.0);
|
||||
#[cfg(feature = "lua53")]
|
||||
#[cfg(any(feature = "lua54", feature = "lua53"))]
|
||||
assert_eq!(lua.load("1.0").eval::<String>()?, "1.0");
|
||||
#[cfg(any(feature = "lua52", feature = "lua51", feature = "luajit"))]
|
||||
assert_eq!(lua.load("1.0").eval::<String>()?, "1");
|
||||
@@ -466,7 +466,12 @@ fn test_pcall_xpcall() -> Result<()> {
|
||||
assert_eq!(globals.get::<_, String>("pcall_error")?, "testerror");
|
||||
|
||||
assert_eq!(globals.get::<_, bool>("xpcall_statusr")?, false);
|
||||
#[cfg(any(feature = "lua53", feature = "lua52", feature = "luajit"))]
|
||||
#[cfg(any(
|
||||
feature = "lua54",
|
||||
feature = "lua53",
|
||||
feature = "lua52",
|
||||
feature = "luajit"
|
||||
))]
|
||||
assert_eq!(
|
||||
globals.get::<_, std::string::String>("xpcall_error")?,
|
||||
"testerror"
|
||||
@@ -799,7 +804,7 @@ fn context_thread() -> Result<()> {
|
||||
)
|
||||
.into_function()?;
|
||||
|
||||
#[cfg(any(feature = "lua53", feature = "lua52"))]
|
||||
#[cfg(any(feature = "lua54", feature = "lua53", feature = "lua52"))]
|
||||
f.call::<_, ()>(lua.current_thread())?;
|
||||
|
||||
#[cfg(any(feature = "lua51", feature = "luajit"))]
|
||||
|
||||
+6
-1
@@ -100,7 +100,12 @@ fn coroutine_from_closure() -> Result<()> {
|
||||
let thrd_main = lua.create_function(|_, ()| Ok(()))?;
|
||||
lua.globals().set("main", thrd_main)?;
|
||||
|
||||
#[cfg(any(feature = "lua53", feature = "lua52", feature = "luajit"))]
|
||||
#[cfg(any(
|
||||
feature = "lua54",
|
||||
feature = "lua53",
|
||||
feature = "lua52",
|
||||
feature = "luajit"
|
||||
))]
|
||||
let thrd: Thread = lua.load("coroutine.create(main)").eval()?;
|
||||
#[cfg(feature = "lua51")]
|
||||
let thrd: Thread = lua
|
||||
|
||||
+3
-3
@@ -95,7 +95,7 @@ fn test_metamethods() -> Result<()> {
|
||||
Err("no such custom index".to_lua_err())
|
||||
}
|
||||
});
|
||||
#[cfg(any(feature = "lua53", feature = "lua52"))]
|
||||
#[cfg(any(feature = "lua54", feature = "lua53", feature = "lua52"))]
|
||||
methods.add_meta_method(MetaMethod::Pairs, |lua, data, ()| {
|
||||
use std::iter::FromIterator;
|
||||
let stateless_iter = lua.create_function(|_, (data, i): (MyUserData, i64)| {
|
||||
@@ -120,7 +120,7 @@ fn test_metamethods() -> Result<()> {
|
||||
10
|
||||
);
|
||||
|
||||
#[cfg(any(feature = "lua53", feature = "lua52"))]
|
||||
#[cfg(any(feature = "lua54", feature = "lua53", feature = "lua52"))]
|
||||
let pairs_it = {
|
||||
lua.load(
|
||||
r#"
|
||||
@@ -140,7 +140,7 @@ fn test_metamethods() -> Result<()> {
|
||||
assert_eq!(lua.load("userdata1 - userdata2").eval::<MyUserData>()?.0, 4);
|
||||
assert_eq!(lua.load("userdata1:get()").eval::<i64>()?, 7);
|
||||
assert_eq!(lua.load("userdata2.inner").eval::<i64>()?, 3);
|
||||
#[cfg(any(feature = "lua53", feature = "lua52"))]
|
||||
#[cfg(any(feature = "lua54", feature = "lua53", feature = "lua52"))]
|
||||
assert_eq!(pairs_it.call::<_, i64>(())?, 28);
|
||||
assert!(lua.load("userdata2.nonexist_field").eval::<()>().is_err());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user