ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:98059] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated
@ 2020-04-24 20:34 headius
  2020-04-24 20:36 ` [ruby-core:98060] " headius
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: headius @ 2020-04-24 20:34 UTC (permalink / raw)
  To: ruby-core

Issue #16816 has been reported by headius (Charles Nutter).

----------------------------------------
Bug #16816: Prematurely terminated Enumerator should stay terminated
https://bugs.ruby-lang.org/issues/16816

* Author: headius (Charles Nutter)
* Status: Open
* Priority: Normal
* ruby -v: all
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When iterating over an Enumerator, there are three different possible results of calling `next`:

1. The next item is returned and a cursor is advanced
2. There's no next item and the Enumerator will forever raise `StopIteration`
3. There's an error getting the next item which is raised out of `next`

This third case has some unexpected behavior that I discovered while working on https://github.com/jruby/jruby/issue/6157

It seems that when an Enumerator fails prematurely with an exception, any subsequent call to #next will cause it to restart.

This can be seen in a simple script I used to write a ruby/spec in https://github.com/jruby/jruby/pull/6190

```ruby
Enumerator.new {
  2.times {|i| raise i.to_s }
}.tap {|f|
  p 2.times.map { f.next rescue $!.message }
}
```

The output from this is `[0, 0]`. After the iteration fails, the second `next` call causes it to restart and it fails again.

Contrast this to the behavior of item 3 above; when an Enumerator finishes iterating without error, it remains "finished" forever and can't be restarted.

I believe the restarting behavior is at best undocumented behavior and at worst incorrect and unspected. Take this example:

```ruby
e = Enumerator.new { |y|
  c = new_database_cursor
  5.times { y.yield c.next_result }
}
```

If `next_result` here raises an error, a subsequent call to `next` on this enumerator will cause it to restart, re-acquire the cursor, and begin again.

As another example I ask a question: how do you indicate that an Enumerator failed due to an error, and *keep it failed* so it doesn't restart again?



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:98060] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated
  2020-04-24 20:34 [ruby-core:98059] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated headius
@ 2020-04-24 20:36 ` headius
  2020-04-24 22:04 ` [ruby-core:98061] " shevegen
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: headius @ 2020-04-24 20:36 UTC (permalink / raw)
  To: ruby-core

Issue #16816 has been updated by headius (Charles Nutter).


A simpler way to say why I believe this is a bug...

If I have an Enumerator with custom logic, and it is constructed and used once, I expect the iteration block will be entered *exactly* once and exited *exactly* once.

----------------------------------------
Bug #16816: Prematurely terminated Enumerator should stay terminated
https://bugs.ruby-lang.org/issues/16816#change-85287

* Author: headius (Charles Nutter)
* Status: Open
* Priority: Normal
* ruby -v: all
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When iterating over an Enumerator, there are three different possible results of calling `next`:

1. The next item is returned and a cursor is advanced
2. There's no next item and the Enumerator will forever raise `StopIteration`
3. There's an error getting the next item which is raised out of `next`

This third case has some unexpected behavior that I discovered while working on https://github.com/jruby/jruby/issue/6157

It seems that when an Enumerator fails prematurely with an exception, any subsequent call to #next will cause it to restart.

This can be seen in a simple script I used to write a ruby/spec in https://github.com/jruby/jruby/pull/6190

```ruby
Enumerator.new {
  2.times {|i| raise i.to_s }
}.tap {|f|
  p 2.times.map { f.next rescue $!.message }
}
```

The output from this is `[0, 0]`. After the iteration fails, the second `next` call causes it to restart and it fails again.

Contrast this to the behavior of item 3 above; when an Enumerator finishes iterating without error, it remains "finished" forever and can't be restarted.

I believe the restarting behavior is at best undocumented behavior and at worst incorrect and unspected. Take this example:

```ruby
e = Enumerator.new { |y|
  c = new_database_cursor
  5.times { y.yield c.next_result }
}
```

If `next_result` here raises an error, a subsequent call to `next` on this enumerator will cause it to restart, re-acquire the cursor, and begin again.

As another example I ask a question: how do you indicate that an Enumerator failed due to an error, and *keep it failed* so it doesn't restart again?



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:98061] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated
  2020-04-24 20:34 [ruby-core:98059] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated headius
  2020-04-24 20:36 ` [ruby-core:98060] " headius
@ 2020-04-24 22:04 ` shevegen
  2020-04-25  8:05 ` [ruby-core:98063] " headius
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: shevegen @ 2020-04-24 22:04 UTC (permalink / raw)
  To: ruby-core

Issue #16816 has been updated by shevegen (Robert A. Heiler).


( Just a brief typo-correction, I think you meant the link https://github.com/jruby/jruby/issues/6157 and not https://github.com/jruby/jruby/issue/6157 )

----------------------------------------
Bug #16816: Prematurely terminated Enumerator should stay terminated
https://bugs.ruby-lang.org/issues/16816#change-85288

* Author: headius (Charles Nutter)
* Status: Open
* Priority: Normal
* ruby -v: all
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When iterating over an Enumerator, there are three different possible results of calling `next`:

1. The next item is returned and a cursor is advanced
2. There's no next item and the Enumerator will forever raise `StopIteration`
3. There's an error getting the next item which is raised out of `next`

This third case has some unexpected behavior that I discovered while working on https://github.com/jruby/jruby/issue/6157

It seems that when an Enumerator fails prematurely with an exception, any subsequent call to #next will cause it to restart.

This can be seen in a simple script I used to write a ruby/spec in https://github.com/jruby/jruby/pull/6190

```ruby
Enumerator.new {
  2.times {|i| raise i.to_s }
}.tap {|f|
  p 2.times.map { f.next rescue $!.message }
}
```

The output from this is `[0, 0]`. After the iteration fails, the second `next` call causes it to restart and it fails again.

Contrast this to the behavior of item 3 above; when an Enumerator finishes iterating without error, it remains "finished" forever and can't be restarted.

I believe the restarting behavior is at best undocumented behavior and at worst incorrect and unspected. Take this example:

```ruby
e = Enumerator.new { |y|
  c = new_database_cursor
  5.times { y.yield c.next_result }
}
```

If `next_result` here raises an error, a subsequent call to `next` on this enumerator will cause it to restart, re-acquire the cursor, and begin again.

As another example I ask a question: how do you indicate that an Enumerator failed due to an error, and *keep it failed* so it doesn't restart again?



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:98063] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated
  2020-04-24 20:34 [ruby-core:98059] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated headius
  2020-04-24 20:36 ` [ruby-core:98060] " headius
  2020-04-24 22:04 ` [ruby-core:98061] " shevegen
@ 2020-04-25  8:05 ` headius
  2020-05-07  8:17 ` [ruby-core:98176] " ko1
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: headius @ 2020-04-25  8:05 UTC (permalink / raw)
  To: ruby-core

Issue #16816 has been updated by headius (Charles Nutter).

Description updated

Thank you, I've fixed the link.

----------------------------------------
Bug #16816: Prematurely terminated Enumerator should stay terminated
https://bugs.ruby-lang.org/issues/16816#change-85290

* Author: headius (Charles Nutter)
* Status: Open
* Priority: Normal
* ruby -v: all
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When iterating over an Enumerator, there are three different possible results of calling `next`:

1. The next item is returned and a cursor is advanced
2. There's no next item and the Enumerator will forever raise `StopIteration`
3. There's an error getting the next item which is raised out of `next`

This third case has some unexpected behavior that I discovered while working on https://github.com/jruby/jruby/issues/6157

It seems that when an Enumerator fails prematurely with an exception, any subsequent call to #next will cause it to restart.

This can be seen in a simple script I used to write a ruby/spec in https://github.com/jruby/jruby/pull/6190

```ruby
Enumerator.new {
  2.times {|i| raise i.to_s }
}.tap {|f|
  p 2.times.map { f.next rescue $!.message }
}
```

The output from this is `[0, 0]`. After the iteration fails, the second `next` call causes it to restart and it fails again.

Contrast this to the behavior of item 3 above; when an Enumerator finishes iterating without error, it remains "finished" forever and can't be restarted.

I believe the restarting behavior is at best undocumented behavior and at worst incorrect and unspected. Take this example:

```ruby
e = Enumerator.new { |y|
  c = new_database_cursor
  5.times { y.yield c.next_result }
}
```

If `next_result` here raises an error, a subsequent call to `next` on this enumerator will cause it to restart, re-acquire the cursor, and begin again.

As another example I ask a question: how do you indicate that an Enumerator failed due to an error, and *keep it failed* so it doesn't restart again?



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:98176] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated
  2020-04-24 20:34 [ruby-core:98059] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated headius
                   ` (2 preceding siblings ...)
  2020-04-25  8:05 ` [ruby-core:98063] " headius
@ 2020-05-07  8:17 ` ko1
  2020-05-07  8:25 ` [ruby-core:98177] " mame
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ko1 @ 2020-05-07  8:17 UTC (permalink / raw)
  To: ruby-core

Issue #16816 has been updated by ko1 (Koichi Sasada).


Do you propose that the following your example:

```
Enumerator.new {
  2.times {|i| raise i.to_s }
}.tap {|f|
  p 2.times.map { f.next rescue $!.message }
}
```

should outputs `["0", "iteration reached an end"]` ?



----------------------------------------
Bug #16816: Prematurely terminated Enumerator should stay terminated
https://bugs.ruby-lang.org/issues/16816#change-85416

* Author: headius (Charles Nutter)
* Status: Open
* Priority: Normal
* ruby -v: all
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When iterating over an Enumerator, there are three different possible results of calling `next`:

1. The next item is returned and a cursor is advanced
2. There's no next item and the Enumerator will forever raise `StopIteration`
3. There's an error getting the next item which is raised out of `next`

This third case has some unexpected behavior that I discovered while working on https://github.com/jruby/jruby/issues/6157

It seems that when an Enumerator fails prematurely with an exception, any subsequent call to #next will cause it to restart.

This can be seen in a simple script I used to write a ruby/spec in https://github.com/jruby/jruby/pull/6190

```ruby
Enumerator.new {
  2.times {|i| raise i.to_s }
}.tap {|f|
  p 2.times.map { f.next rescue $!.message }
}
```

The output from this is `[0, 0]`. After the iteration fails, the second `next` call causes it to restart and it fails again.

Contrast this to the behavior of item 3 above; when an Enumerator finishes iterating without error, it remains "finished" forever and can't be restarted.

I believe the restarting behavior is at best undocumented behavior and at worst incorrect and unspected. Take this example:

```ruby
e = Enumerator.new { |y|
  c = new_database_cursor
  5.times { y.yield c.next_result }
}
```

If `next_result` here raises an error, a subsequent call to `next` on this enumerator will cause it to restart, re-acquire the cursor, and begin again.

As another example I ask a question: how do you indicate that an Enumerator failed due to an error, and *keep it failed* so it doesn't restart again?



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:98177] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated
  2020-04-24 20:34 [ruby-core:98059] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated headius
                   ` (3 preceding siblings ...)
  2020-05-07  8:17 ` [ruby-core:98176] " ko1
@ 2020-05-07  8:25 ` mame
  2020-05-07 20:02 ` [ruby-core:98206] " eregontp
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: mame @ 2020-05-07  8:25 UTC (permalink / raw)
  To: ruby-core

Issue #16816 has been updated by mame (Yusuke Endoh).


A simpler code for dev-meeting:

```
g = Enumerator.new { raise "error" }

p((g.next rescue $!)) #=> "error" (as expected)
p((g.next rescue $!)) #=> actual: "error", expected: StopIteration
```

----------------------------------------
Bug #16816: Prematurely terminated Enumerator should stay terminated
https://bugs.ruby-lang.org/issues/16816#change-85417

* Author: headius (Charles Nutter)
* Status: Open
* Priority: Normal
* ruby -v: all
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When iterating over an Enumerator, there are three different possible results of calling `next`:

1. The next item is returned and a cursor is advanced
2. There's no next item and the Enumerator will forever raise `StopIteration`
3. There's an error getting the next item which is raised out of `next`

This third case has some unexpected behavior that I discovered while working on https://github.com/jruby/jruby/issues/6157

It seems that when an Enumerator fails prematurely with an exception, any subsequent call to #next will cause it to restart.

This can be seen in a simple script I used to write a ruby/spec in https://github.com/jruby/jruby/pull/6190

```ruby
Enumerator.new {
  2.times {|i| raise i.to_s }
}.tap {|f|
  p 2.times.map { f.next rescue $!.message }
}
```

The output from this is `[0, 0]`. After the iteration fails, the second `next` call causes it to restart and it fails again.

Contrast this to the behavior of item 3 above; when an Enumerator finishes iterating without error, it remains "finished" forever and can't be restarted.

I believe the restarting behavior is at best undocumented behavior and at worst incorrect and unspected. Take this example:

```ruby
e = Enumerator.new { |y|
  c = new_database_cursor
  5.times { y.yield c.next_result }
}
```

If `next_result` here raises an error, a subsequent call to `next` on this enumerator will cause it to restart, re-acquire the cursor, and begin again.

As another example I ask a question: how do you indicate that an Enumerator failed due to an error, and *keep it failed* so it doesn't restart again?



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:98206] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated
  2020-04-24 20:34 [ruby-core:98059] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated headius
                   ` (4 preceding siblings ...)
  2020-05-07  8:25 ` [ruby-core:98177] " mame
@ 2020-05-07 20:02 ` eregontp
  2020-12-21 13:46 ` [ruby-core:101587] " intrip
  2021-04-09 21:24 ` [ruby-core:103355] [Ruby master Feature#16816] " merch-redmine
  7 siblings, 0 replies; 9+ messages in thread
From: eregontp @ 2020-05-07 20:02 UTC (permalink / raw)
  To: ruby-core

Issue #16816 has been updated by Eregon (Benoit Daloze).


I agree this seems a bug, the `expected` of the example by @mame makes sense.

For @ko1's example, yes, because the exception will reach the end of the Enumerator (and Fiber), so there is nothing to Fiber.yield/Enumerator#next after.

----------------------------------------
Bug #16816: Prematurely terminated Enumerator should stay terminated
https://bugs.ruby-lang.org/issues/16816#change-85443

* Author: headius (Charles Nutter)
* Status: Open
* Priority: Normal
* ruby -v: all
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When iterating over an Enumerator, there are three different possible results of calling `next`:

1. The next item is returned and a cursor is advanced
2. There's no next item and the Enumerator will forever raise `StopIteration`
3. There's an error getting the next item which is raised out of `next`

This third case has some unexpected behavior that I discovered while working on https://github.com/jruby/jruby/issues/6157

It seems that when an Enumerator fails prematurely with an exception, any subsequent call to #next will cause it to restart.

This can be seen in a simple script I used to write a ruby/spec in https://github.com/jruby/jruby/pull/6190

```ruby
Enumerator.new {
  2.times {|i| raise i.to_s }
}.tap {|f|
  p 2.times.map { f.next rescue $!.message }
}
```

The output from this is `[0, 0]`. After the iteration fails, the second `next` call causes it to restart and it fails again.

Contrast this to the behavior of item 3 above; when an Enumerator finishes iterating without error, it remains "finished" forever and can't be restarted.

I believe the restarting behavior is at best undocumented behavior and at worst incorrect and unspected. Take this example:

```ruby
e = Enumerator.new { |y|
  c = new_database_cursor
  5.times { y.yield c.next_result }
}
```

If `next_result` here raises an error, a subsequent call to `next` on this enumerator will cause it to restart, re-acquire the cursor, and begin again.

As another example I ask a question: how do you indicate that an Enumerator failed due to an error, and *keep it failed* so it doesn't restart again?



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:101587] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated
  2020-04-24 20:34 [ruby-core:98059] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated headius
                   ` (5 preceding siblings ...)
  2020-05-07 20:02 ` [ruby-core:98206] " eregontp
@ 2020-12-21 13:46 ` intrip
  2021-04-09 21:24 ` [ruby-core:103355] [Ruby master Feature#16816] " merch-redmine
  7 siblings, 0 replies; 9+ messages in thread
From: intrip @ 2020-12-21 13:46 UTC (permalink / raw)
  To: ruby-core

Issue #16816 has been updated by jbeschi (jacopo beschi).


I'd like to try working on this fix: is it possible?

----------------------------------------
Bug #16816: Prematurely terminated Enumerator should stay terminated
https://bugs.ruby-lang.org/issues/16816#change-89373

* Author: headius (Charles Nutter)
* Status: Open
* Priority: Normal
* ruby -v: all
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When iterating over an Enumerator, there are three different possible results of calling `next`:

1. The next item is returned and a cursor is advanced
2. There's no next item and the Enumerator will forever raise `StopIteration`
3. There's an error getting the next item which is raised out of `next`

This third case has some unexpected behavior that I discovered while working on https://github.com/jruby/jruby/issues/6157

It seems that when an Enumerator fails prematurely with an exception, any subsequent call to #next will cause it to restart.

This can be seen in a simple script I used to write a ruby/spec in https://github.com/jruby/jruby/pull/6190

```ruby
Enumerator.new {
  2.times {|i| raise i.to_s }
}.tap {|f|
  p 2.times.map { f.next rescue $!.message }
}
```

The output from this is `[0, 0]`. After the iteration fails, the second `next` call causes it to restart and it fails again.

Contrast this to the behavior of item 3 above; when an Enumerator finishes iterating without error, it remains "finished" forever and can't be restarted.

I believe the restarting behavior is at best undocumented behavior and at worst incorrect and unspected. Take this example:

```ruby
e = Enumerator.new { |y|
  c = new_database_cursor
  5.times { y.yield c.next_result }
}
```

If `next_result` here raises an error, a subsequent call to `next` on this enumerator will cause it to restart, re-acquire the cursor, and begin again.

As another example I ask a question: how do you indicate that an Enumerator failed due to an error, and *keep it failed* so it doesn't restart again?



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:103355] [Ruby master Feature#16816] Prematurely terminated Enumerator should stay terminated
  2020-04-24 20:34 [ruby-core:98059] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated headius
                   ` (6 preceding siblings ...)
  2020-12-21 13:46 ` [ruby-core:101587] " intrip
@ 2021-04-09 21:24 ` merch-redmine
  7 siblings, 0 replies; 9+ messages in thread
From: merch-redmine @ 2021-04-09 21:24 UTC (permalink / raw)
  To: ruby-core

Issue #16816 has been updated by jeremyevans0 (Jeremy Evans).

Backport deleted (2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN)
ruby -v deleted (all)
Tracker changed from Bug to Feature

I prepared a commit to fix this: https://github.com/jeremyevans/ruby/commit/851534bbffd87c79bb63e8df36d6a47cc821aef0

Unfortunately, it breaks a CSV test:

```
  1) Failure:
TestCSVParseInvalid#test_ignore_invalid_line [/home/runner/work/ruby/ruby/src/test/csv/parse/test_invalid.rb:34]:
<false> expected but was
<true>.
```

This failure shows the general problem with the idea. Basically, when enumerating has side effects, such as reading from a file, after an error is raised, you may want to continue enumerating after the error.  Because the file state has changed, this is not equivalent to restarting from the beginning, it's equivalent to picking up where you left off.

So this isn't a change we would want to make by default.  We would only want it for stateless enumerators, and we don't currently differentiate between enumerators that have external state and those that do not.

I think the current behavior makes sense for enumerators having external state.  So I conclude this is not a bug, but a feature request, and one that could only be made if Ruby decided to differentiate the two types of enumerators.

----------------------------------------
Feature #16816: Prematurely terminated Enumerator should stay terminated
https://bugs.ruby-lang.org/issues/16816#change-91446

* Author: headius (Charles Nutter)
* Status: Open
* Priority: Normal
----------------------------------------
When iterating over an Enumerator, there are three different possible results of calling `next`:

1. The next item is returned and a cursor is advanced
2. There's no next item and the Enumerator will forever raise `StopIteration`
3. There's an error getting the next item which is raised out of `next`

This third case has some unexpected behavior that I discovered while working on https://github.com/jruby/jruby/issues/6157

It seems that when an Enumerator fails prematurely with an exception, any subsequent call to #next will cause it to restart.

This can be seen in a simple script I used to write a ruby/spec in https://github.com/jruby/jruby/pull/6190

```ruby
Enumerator.new {
  2.times {|i| raise i.to_s }
}.tap {|f|
  p 2.times.map { f.next rescue $!.message }
}
```

The output from this is `[0, 0]`. After the iteration fails, the second `next` call causes it to restart and it fails again.

Contrast this to the behavior of item 3 above; when an Enumerator finishes iterating without error, it remains "finished" forever and can't be restarted.

I believe the restarting behavior is at best undocumented behavior and at worst incorrect and unspected. Take this example:

```ruby
e = Enumerator.new { |y|
  c = new_database_cursor
  5.times { y.yield c.next_result }
}
```

If `next_result` here raises an error, a subsequent call to `next` on this enumerator will cause it to restart, re-acquire the cursor, and begin again.

As another example I ask a question: how do you indicate that an Enumerator failed due to an error, and *keep it failed* so it doesn't restart again?



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-04-09 21:24 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-24 20:34 [ruby-core:98059] [Ruby master Bug#16816] Prematurely terminated Enumerator should stay terminated headius
2020-04-24 20:36 ` [ruby-core:98060] " headius
2020-04-24 22:04 ` [ruby-core:98061] " shevegen
2020-04-25  8:05 ` [ruby-core:98063] " headius
2020-05-07  8:17 ` [ruby-core:98176] " ko1
2020-05-07  8:25 ` [ruby-core:98177] " mame
2020-05-07 20:02 ` [ruby-core:98206] " eregontp
2020-12-21 13:46 ` [ruby-core:101587] " intrip
2021-04-09 21:24 ` [ruby-core:103355] [Ruby master Feature#16816] " merch-redmine

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).