diff --git a/Cargo.toml b/Cargo.toml index efbb8d5..fb432cf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,7 +40,7 @@ module = ["dep:mlua_derive", "ffi/module"] async = ["dep:futures-util"] send = ["parking_lot/send_guard", "error-send"] error-send = [] -serialize = ["dep:serde", "dep:erased-serde", "dep:serde-value"] +serialize = ["dep:serde", "dep:erased-serde", "dep:serde-value", "bstr/serde"] macros = ["mlua_derive/macros"] anyhow = ["dep:anyhow", "error-send"] userdata-wrappers = [] diff --git a/tests/serde.rs b/tests/serde.rs index 4efb653..167095f 100644 --- a/tests/serde.rs +++ b/tests/serde.rs @@ -3,6 +3,7 @@ use std::collections::HashMap; use std::error::Error as StdError; +use bstr::BString; use mlua::{ AnyUserData, DeserializeOptions, Error, ExternalResult, IntoLua, Lua, LuaSerdeExt, Result as LuaResult, SerializeOptions, UserData, Value, @@ -420,6 +421,7 @@ fn test_from_value_struct() -> Result<(), Box> { map: HashMap, empty: Vec<()>, tuple: (u8, u8, u8), + bytes: BString, } let value = lua @@ -431,6 +433,7 @@ fn test_from_value_struct() -> Result<(), Box> { map = {2, [4] = 1}, empty = {}, tuple = {10, 20, 30}, + bytes = "\240\040\140\040", } "#, ) @@ -443,6 +446,7 @@ fn test_from_value_struct() -> Result<(), Box> { map: vec![(1, 2), (4, 1)].into_iter().collect(), empty: vec![], tuple: (10, 20, 30), + bytes: BString::from([240, 40, 140, 40]), }, got );