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 onContextcan now be called directly on theLuaobject.rlua0.20 includes anRluaCompatextension trait which adds acontext()method which can be used to avoid having to update code all at once. -
The
ToLuatrait has been renamed toIntoLua, and its conversion methodto_luais nowinto_lua.rlua0.20 includesToLuaas an alias forIntoLuaand an extensionToLuaCompatwhich adds ato_luamethod as a temporary convenience.
A few other changes which should be less disruptive:
mluahas different defaults and options for blocking loading C libraries or compiled modules from Lua code or catching Rust panics. Check theLua::new_withand unsafe variants for the new options.