Struct hlua::LuaCodeFromReader
source · pub struct LuaCodeFromReader<R>(pub R);
Expand description
Wrapper around a Read
object. When pushed, the content will be parsed as Lua code and turned
into a function.
Since pushing this value can fail in case of a reading error or a parsing error, you must use
the checked_set
method instead of set
.
§Example: returning a Lua function from a Rust function
use std::io::Cursor;
let mut lua = hlua::Lua::new();
lua.set("call_rust", hlua::function0(|| -> hlua::LuaCodeFromReader<Cursor<String>> {
let lua_code = "return 18;";
return hlua::LuaCodeFromReader(Cursor::new(lua_code.to_owned()));
}));
let r: i32 = lua.execute("local lua_func = call_rust(); return lua_func();").unwrap();
assert_eq!(r, 18);
Tuple Fields§
§0: R
Trait Implementations§
source§impl<R: Debug> Debug for LuaCodeFromReader<R>
impl<R: Debug> Debug for LuaCodeFromReader<R>
source§impl<'lua, L, R> Push<L> for LuaCodeFromReader<R>
impl<'lua, L, R> Push<L> for LuaCodeFromReader<R>
impl<'lua, L, R> PushOne<L> for LuaCodeFromReader<R>
Auto Trait Implementations§
impl<R> Freeze for LuaCodeFromReader<R>where
R: Freeze,
impl<R> RefUnwindSafe for LuaCodeFromReader<R>where
R: RefUnwindSafe,
impl<R> Send for LuaCodeFromReader<R>where
R: Send,
impl<R> Sync for LuaCodeFromReader<R>where
R: Sync,
impl<R> Unpin for LuaCodeFromReader<R>where
R: Unpin,
impl<R> UnwindSafe for LuaCodeFromReader<R>where
R: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more