On 5.3, closures built in a loop with identical upvalues compare == due to closure caching (closure.lua:48); lua-rs creates distinct closures. 5.4/5.5 match already. VM/upvalue-capture change, 5.3-gated. Also blocks goto.lua:180 on 5.3 (the same upvalue-id sharing across a goto-driven loop). Re-entry notes: specs/followup/SHARED_CORE_REPORT.md.
On 5.3, closures built in a loop with identical upvalues compare
==due to closure caching (closure.lua:48); lua-rs creates distinct closures. 5.4/5.5 match already. VM/upvalue-capture change, 5.3-gated. Also blocksgoto.lua:180on 5.3 (the same upvalue-id sharing across a goto-driven loop). Re-entry notes: specs/followup/SHARED_CORE_REPORT.md.