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 {