gmod-rs fork
Go to file
William Venner 64ade67496 Add `push_closure` 2022-07-07 18:18:50 +01:00
examples Add more bindings, add push to Lua trait 2022-01-22 17:30:04 +00:00
gmod Add `push_closure` 2022-07-07 18:18:50 +01:00
gmod-macros Fix macros breaking auto completion in IDEs 2022-01-22 19:36:41 +00:00
tests Add support for full userdata with proper dropping support 2021-10-23 20:05:52 +01:00
.editorconfig Initial commit 2021-09-09 21:50:58 +01:00
.gitignore Add support for full userdata with proper dropping support 2021-10-23 20:05:52 +01:00
Cargo.lock Add `push_closure` 2022-07-07 18:18:50 +01:00
Cargo.toml Move example -> examples 2021-12-30 18:22:15 +00:00
LICENSE Initial commit 2021-09-09 21:50:58 +01:00
README.md Update README 2022-01-22 19:39:32 +00:00
rust-toolchain.toml Initial commit 2021-09-09 21:50:58 +01:00

README.md

crates.io

docs.rs

⚙ gmod-rs

A swiss army knife for creating binary modules for Garry's Mod in Rust.

Examples

Click here to see examples.

Nightly requirement

Currently, this crate requires the Rust Nightly compiler to be used.

This is because of the nature of Rust <-> C FFI (which is used extensively in this crate for interfacing with Lua) and the undefined behaviour that occurs when Lua performs long jumps out of functions during errors, or when Rust panics and unwinds out of a foreign stack frame. The C-unwind ABI is used to prevent this undefined behaviour.