diff options
author | Marcelo Pereira <[email protected]> | 2022-07-29 15:09:54 +0200 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2023-07-15 15:24:43 +0900 |
commit | f15123c34ce80f3928612befe2a9aaf4c9d27fda () | |
tree | db2cb9f714fdf997585334c370dd3c570ff71b80 /enumerator.c | |
parent | 82cd70ef935e6aac8cc929af24fb21c2157524f7 (diff) |
Fix stack trace for rescued StopIteration
Notes: Merged: https://.com/ruby/ruby/pull/6201
-rw-r--r-- | enumerator.c | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -165,7 +165,10 @@ static VALUE sym_each, sym_cycle, sym_yield; static VALUE lazy_use_super_method; #define id_call idCall #define id_each idEach #define id_eqq idEqq #define id_initialize idInitialize @@ -787,8 +790,16 @@ get_next_values(VALUE obj, struct enumerator *e) { VALUE curr, vs; - if (e->stop_exc) - rb_exc_raise(e->stop_exc); curr = rb_fiber_current(); |