diff --git a/demo/src/ReplicatedStorage/std/handle.luau b/demo/src/ReplicatedStorage/std/handle.luau index 785ae3a..0631584 100644 --- a/demo/src/ReplicatedStorage/std/handle.luau +++ b/demo/src/ReplicatedStorage/std/handle.luau @@ -31,6 +31,9 @@ do world:clear(e) return self end + local function delete(self) + world:delete(e) + end local function id() return e end diff --git a/demo/src/ReplicatedStorage/std/ref.luau b/demo/src/ReplicatedStorage/std/ref.luau index b7d00ce..53017fd 100644 --- a/demo/src/ReplicatedStorage/std/ref.luau +++ b/demo/src/ReplicatedStorage/std/ref.luau @@ -2,7 +2,7 @@ local world = require(script.Parent.world) local handle = require(script.Parent.handle) local refs = {} -local function fini(e, key) +local function fini(key) return function() refs[key] = nil end @@ -18,7 +18,7 @@ local function ref(key): (handle.Handle, (() -> ())?) refs[key] = e end -- Cannot cache handles because they will get invalidated - return handle(e), fini(e, key) + return handle(e), fini(key) end return ref