lua-macros 0.1.9

Useful macros to join Lua with Rust.
Documentation
  • Coverage
  • 100%
    6 out of 6 items documented1 out of 1 items with examples
  • Size
  • Source code size: 25.66 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 231.04 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • therustmonk/lua-macros
    4 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • therustmonk

Lua-macros library

This library provides useful macros to simplify embedding Lua to Rust. It's based on lua crate.

Example:

#[macro_use]
extern crate lua_macros;
use lua_macros::lua::{State, Integer};

#[derive(Clone, Debug, PartialEq)]
enum UserEnum {
  One,
  Two,
  Three,
}

lua_userdata!(UserEnum);

fn main() {
    let mut state = State::new();
    UserEnum::attach(&mut state);

    let ud = UserEnum::One;
    state.push(ud);
    state.push_nil();

    let restored = state.to_type::<UserEnum>(-2).unwrap();
    let wrong = state.to_type::<UserEnum>(-1);

    assert_eq!(restored, UserEnum::One);
    assert!(wrong.is_none());
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.