You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Oct 8, 2024. It is now read-only.
Iterator helpers are specified as generators whose bodies are Abstract Closures. That is, they start in a suspendedStart state until one of its step methods is called. If you call return() on a helper before next(), this goes to GeneratorResumeAbrupt, which has a fast path for going from suspendedStart -> completed without evaluating anything. AFAICT this won't call return() on the underlying, which is the intention.
The text was updated successfully, but these errors were encountered:
I think this can be fixed by adding a special case for suspendedStart in %IteratorHelperPrototype%.return ( ), though it will require moving the iterated record from a captured alias to a slot on the object. (Which is annoying, because the objects are created by CreateIteratorFromClosure, which doesn't currently allow you to specify additional slots on the created object.)
Iterator helpers are specified as generators whose bodies are Abstract Closures. That is, they start in a
suspendedStart
state until one of its step methods is called. If you callreturn()
on a helper beforenext()
, this goes to GeneratorResumeAbrupt, which has a fast path for going fromsuspendedStart
->completed
without evaluating anything. AFAICT this won't callreturn()
on the underlying, which is the intention.The text was updated successfully, but these errors were encountered: