Skip to main content

gen_self_iterator

Function gen_self_iterator 

Source
pub(crate) fn gen_self_iterator(
    _: &mut Interp,
    this: Value,
    _a: &[Value],
) -> Result<Value, Value>
Expand description

Generator.prototype[Symbol.iterator]/AsyncGenerator.prototype[Symbol.asyncIterator] は仕様上どちらも「自分自身を返す」だけだが、丸ごと未登録だったため for await (x of asyncGen())Symbol.asyncIterator を見つけられず、 常に同期の eager-drain フォールバック(iterate_values/drain_generator)に 落ちていた(値自体は一致するが、generator 内で投げた例外が for-await に 伝播せず黙って握り潰される差異があった)。