Conversation
The selene-lib crate defines lua52, lua53, lua54, and luajit as default features (enabling the corresponding full_moon parser features), but the selene CLI crate imports selene-lib with default-features = false and only re-exports the roblox feature. This means cargo install selene and the GitHub release binaries cannot parse Lua 5.2+ syntax (goto/labels), LuaJIT extensions (ULL number suffixes), or \x hex string escapes. Forward all four Lua version features through the CLI crate and include them in its default feature set, matching selene-lib's own defaults. Fixes Kampfkarren#581 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
I noticed a weird subtlety related to this. I've sent this PR #646 which fixed the problem for me (the propagation of lua version). However, I now stumbled upon your change and I started wondering why did my change fix the problem for me, when your change looks like it should be required too. Well, I was building my selene binary with I verified this theory with the below repros: running but it works fine if I instead do: So IMO both PRs are needed. Mine fixes Lua version inheritance in config files and yours adds the right build time feature enables. |
The selene-lib crate defines lua52, lua53, lua54, and luajit as default features (enabling the corresponding full_moon parser features), but the selene CLI crate imports selene-lib with default-features = false and only re-exports the roblox feature. This means cargo install selene and the GitHub release binaries cannot parse Lua 5.2+ syntax (goto/labels), LuaJIT extensions (ULL number suffixes), or \x hex string escapes.
Forward all four Lua version features through the CLI crate and include them in its default feature set, matching selene-lib's own defaults.
Fixes #581
This PR was assisted by AI