From aed0c1c5ababe8b44ac8f88ef423b641c0c6ec4f Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 7 Oct 2022 17:43:26 +0100 Subject: util.promise: Remove some redundant checks, add tests confirming redundancy This lines don't appear to do anything useful, and all tests pass when they are removed. Discovered via mutation testing. I added extra tests to exercise this code, because I wasn't certain that there were no side-effects caused by removal. Everything appears to be fine, thanks to the "pending" check at the start of promise_settle(). --- util/promise.lua | 4 ---- 1 file changed, 4 deletions(-) (limited to 'util') diff --git a/util/promise.lua b/util/promise.lua index 1762d501..d8f0b3d6 100644 --- a/util/promise.lua +++ b/util/promise.lua @@ -57,9 +57,7 @@ local function promise_settle(promise, new_state, new_next, cbs, value) end local function new_resolve_functions(p) - local resolved = false; local function _resolve(v) - if resolved then return; end resolved = true; if is_promise(v) then v:next(new_resolve_functions(p)); @@ -69,8 +67,6 @@ local function new_resolve_functions(p) end local function _reject(e) - if resolved then return; end - resolved = true; if promise_settle(p, "rejected", next_rejected, p._pending_on_rejected, e) then p.reason = e; end -- cgit v1.2.3