jcmoyer / rust-lua53

Lua 5.3 bindings for Rust
MIT License
158 stars 45 forks source link

Split between main and -sys crates #51

Open SpaceManiac opened 8 years ago

SpaceManiac commented 8 years ago

Rust conventions prescribe a crate boundary between raw FFI bindings (the ffi module, the buildscript, and the generated glue) and a higher-level (even if it still has some unsafe) Rust wrapper. The advantages of such a configuration are primarily:

See, for example, the hlua crate, which bundles a lua52-sys crate: https://github.com/tomaka/hlua (This -sys crate also bundles its Lua source without requiring a secondary download, a good idea IMO, but that is another issue.) Actually, maybe some collaboration with tomaka is warranted, given that this other crate also specifies links = "lua".

There isn't really any urgent need for this, but I wanted to get some discussion started.

jcmoyer commented 8 years ago

I've been aware of this convention for a while, but I haven't had the time (or motivation honestly) to split the low level bits out of the library. I agree it would be a nice thing to do though, if for no other reason than to be following standard guidelines.

ruabmbua commented 8 years ago

It would be useful, if for example someone wanted to implement a luajit backend for the crate.