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 onContext
can now be called directly on theLua
object.rlua
0.20 includes anRluaCompat
extension trait which adds acontext()
method which can be used to avoid having to update code all at once. -
The
ToLua
trait has been renamed toIntoLua
, and its conversion methodto_lua
is nowinto_lua
.rlua
0.20 includesToLua
as an alias forIntoLua
and an extensionToLuaCompat
which adds ato_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 theLua::new_with
and unsafe variants for the new options.