ruby-concurrency/concurrent-ruby

Repeated calls to `ResolvableEvent#resolve` with `raise_on_reassign = true` does not raise

hanazuki opened this issue · 0 comments

Documentation for ResolvableEvent#resolve says:

#resolve(raise_on_reassign = true, reserved = false) ⇒ self, false
raise_on_reassign (Boolean) (defaults to: true) — should method raise exception if already resolved

But it just returns false on reassignment.

Reproducing code:

require 'concurrent'
Concurrent::Promises.resolvable_event.resolve.resolve  # => Expected to raise, but returns false
Concurrent::Promises.resolvable_event.resolve.resolve(true)  # => ditto

* Operating system:                linux
* Ruby implementation:             Ruby
* `concurrent-ruby` version:       1.1.10
* `concurrent-ruby-ext` installed: no
* `concurrent-ruby-edge` used:     no