From 512921404c7942e7c8a31bcafee7b264681b6007 Mon Sep 17 00:00:00 2001 From: Alex Orlenko Date: Fri, 26 Jan 2024 14:07:56 +0000 Subject: [PATCH] Add fastpath `push_into_stack`/`from_stack` methods for `bool` type --- src/conversion.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/conversion.rs b/src/conversion.rs index 4542e2d..6820d45 100644 --- a/src/conversion.rs +++ b/src/conversion.rs @@ -434,6 +434,12 @@ impl<'lua> IntoLua<'lua> for bool { fn into_lua(self, _: &'lua Lua) -> Result> { Ok(Value::Boolean(self)) } + + #[inline] + unsafe fn push_into_stack(self, lua: &'lua Lua) -> Result<()> { + ffi::lua_pushboolean(lua.state(), self as c_int); + Ok(()) + } } impl<'lua> FromLua<'lua> for bool { @@ -445,6 +451,10 @@ impl<'lua> FromLua<'lua> for bool { _ => Ok(true), } } + + unsafe fn from_stack(idx: c_int, lua: &'lua Lua) -> Result { + Ok(ffi::lua_toboolean(lua.state(), idx) != 0) + } } impl<'lua> IntoLua<'lua> for LightUserData {