luna-core 2.11.0

Pure-Rust Lua runtime (interpreter only, zero third-party dependencies). The JIT-equipped variant lives in the `luna-jit` crate.
Documentation
-- v2.10 CORPUS: block scoping + shadowing.
local x = 10
do
  local x = 20
  do
    local x = 30
    print(x)  -- 30
  end
  print(x)  -- 20
end
print(x)  -- 10

-- closure captures at declaration site, not call site
local function outer()
  local y = "outer_y"
  return function() return y end
end
local f = outer()
print(f())  -- outer_y

-- vararg + closure
local function collect(...)
  local n = select('#', ...)
  return function(i) return (select(i, ...)) end
end
local pick = collect(10, 20, 30, 40)
print(pick(2), pick(4))