18:57
<jschoi>

I’m working on #3581 (Array.fromAsync).
I’m figuring out the last two esmeta errors in this job.

It looks like Array.from’s iteration machinery has changed a lot since I last checked. Now Array.from uses a new IteratorStepValue operation.

There’s no analogous AsyncIteratorStepValue operation yet, is there?

19:03
<bakkot>
Correct
19:03
<jschoi>
Would it be worth for the Array.fromAsync pull request to define new AsyncIteratorStepValue, AsyncIteratorStep, and AsyncIteratorNext operations, to match Array.from’s algorithm?
19:04
<bakkot>
No, probably not until there's more stuff which uses it
19:05
<bakkot>
You can use the underlying operations, though
19:06
<bakkot>
IteratorNext works fine on async iterators I think
19:06
<bakkot>
and then after awaiting the result you can use IteratorComplete and IteratorValue
19:08
<bakkot>
which I guess is pretty much what you're doing already, except manually calling .next instead of using IteratorNext, which is fine
19:08
<bakkot>
don't worry too much about esmeta errors; if they don't look like actual errors you can ignore them
19:09
<bakkot>
it isn't capable of handling everything in the spec and there's a file we can use to mark things as expected errors if we decide it's an esmeta bug
19:10
<bakkot>
in this specific case, yes, it looks like it's because of not recognizing the new IfAbruptCloseAsyncIterator macro, which makes sense; macros are hard to typecheck and we don't have any explicit marking for them
19:29
<jschoi>
Thank you very much for your great help.