On Jan 15, 2014, at 8:32 AM, David Bruant wrote:

> Hi,
> 
> Playing with the test cases of the regenerator project [1], I came across a 
> case and was wondering what the intention of the spec is given that Firefox 
> and Chrome recent implementations diverge.
> Apologies for not reading all the previous discussions on this edge case.
> 
> Test case:
> ````js
> function *gen(x) {
>    yield x;
> }
> 
> var g = gen('whatever');
> console.log(g.next(0));
> ````
> 
> Chrome & regenerator:
> {value: "whatever", done: false}
> 
> Firefox (Aurora 28):
> TypeError: attempt to send 0 to newborn generator
> 
> From what I understand, the spec says an error should be thrown because the 
> generator is in "suspendedStart" state and value is not undefined (25.3.3.2 
> GeneratorResume step 7).

Yes, that's what the spec, requires.  This check was in the the original 
Generator proposal 
http://wiki.ecmascript.org/doku.php?id=harmony:generators#internal_methodsend 

It's an error because there is no mechanism for a generator to receive the 
argument passed by the first next. 

Allen

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to