aboutsummaryrefslogtreecommitdiffstats
path: root/util/promise.lua
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2022-10-07 17:43:26 +0100
committerMatthew Wild <mwild1@gmail.com>2022-10-07 17:43:26 +0100
commitaed0c1c5ababe8b44ac8f88ef423b641c0c6ec4f (patch)
treedcdc35f85e95dce57fbcb32ec6c7cfbaa32b876c /util/promise.lua
parentd08ddc1f4a1c6d93342bd8efd69c837782656f1f (diff)
downloadprosody-aed0c1c5ababe8b44ac8f88ef423b641c0c6ec4f.tar.gz
prosody-aed0c1c5ababe8b44ac8f88ef423b641c0c6ec4f.zip
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().
Diffstat (limited to 'util/promise.lua')
-rw-r--r--util/promise.lua4
1 files changed, 0 insertions, 4 deletions
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