]> git.kaiwu.me - quickjs.git/commitdiff
fixed Iterator.prototype.flatMap iterator closing (saghul)
authorFabrice Bellard <fabrice@bellard.org>
Sat, 31 Oct 2026 17:25:56 +0000 (18:25 +0100)
committerFabrice Bellard <fabrice@bellard.org>
Sat, 31 Oct 2026 17:25:56 +0000 (18:25 +0100)
quickjs.c

index f98f383978a98c212caaa58ea49548ab6fea818b..4a4ff063c29cea490d5a4a028cc3eb04afe13ec4 100644 (file)
--- a/quickjs.c
+++ b/quickjs.c
@@ -47103,7 +47103,8 @@ static JSValue js_iterator_helper_next(JSContext *ctx, JSValueConst this_val,
 
                 item = JS_IteratorNext(ctx, it->inner, it->inner_next, pdone);
                 if (JS_IsException(item)) {
-                    JS_IteratorClose(ctx, it->inner, FALSE);
+                    /* the inner iterator is only marked done, the outer one is
+                       closed by the |fail| label */
                     JS_FreeValue(ctx, it->inner);
                     JS_FreeValue(ctx, it->inner_next);
                     it->inner = JS_UNDEFINED;