Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

mlua-rs/rlua

High level Lua bindings to Rust

mlua-rs/rlua.json
{
"createdAt": "2017-05-21T23:51:43Z",
"defaultBranch": "master",
"description": "High level Lua bindings to Rust",
"fullName": "mlua-rs/rlua",
"homepage": null,
"language": "Rust",
"name": "rlua",
"pushedAt": "2024-07-20T09:06:06Z",
"stargazersCount": 1771,
"topics": [],
"updatedAt": "2025-11-19T11:28:02Z",
"url": "https://github.com/mlua-rs/rlua"
}

rlua — High level bindings between Rust and Lua

Section titled “rlua — High level bindings between Rust and Lua”

rlua is now deprecated in favour of mlua: see below for migration information

rlua is now a thin transitional wrapper around mlua; it is recommended to use mlua directly for new projects and to migrate to it when convenient. mlua was a fork of rlua which has recently seen more development activity and new features.

rlua 0.20 includes some utilities to help transition to mlua, but is otherwise just re-exporting mlua directly.

The main changes are:

  • In mlua, Lua::context() is no longer necessary. The methods previously on Context can now be called directly on the Lua object. rlua 0.20 includes an RluaCompat extension trait which adds a context() method which can be used to avoid having to update code all at once.

  • The ToLua trait has been renamed to IntoLua, and its conversion method to_lua is now into_lua. rlua 0.20 includes ToLua as an alias for IntoLua and an extension ToLuaCompat which adds a to_lua method as a temporary convenience.

A few other changes which should be less disruptive:

  • mlua has different defaults and options for blocking loading C libraries or compiled modules from Lua code or catching Rust panics. Check the Lua::new_with and unsafe variants for the new options.