Tab Atkins Jr. (2015-01-31T17:15:25.000Z)
On Sat, Jan 31, 2015 at 8:56 AM, Erik Arvidsson
<erik.arvidsson at gmail.com> wrote:
> Another option would be to throw. Then the caller can tell that they did
> something that was not expected by the inner iterator.

Yes, this makes sense to me.  The code is violating the implicit
contract; this should be allowed when it's harmless, but when you
actually run into a situation that's problematic, throwing to the
top-level is reasonable.

~TJ
d at domenic.me (2015-02-13T23:46:58.947Z)
On Sat, Jan 31, 2015 at 8:56 AM, Erik Arvidsson <erik.arvidsson at gmail.com> wrote:
> Another option would be to throw. Then the caller can tell that they did
> something that was not expected by the inner iterator.

Yes, this makes sense to me.  The code is violating the implicit
contract; this should be allowed when it's harmless, but when you
actually run into a situation that's problematic, throwing to the
top-level is reasonable.