https://redmine.ruby-lang.org/https://redmine.ruby-lang.org/favicon.ico?17113305112019-02-20T04:40:00ZRuby Issue Tracking SystemRuby master - Bug #15613: Enumerator::Chain#each doesn't relay block signaturehttps://redmine.ruby-lang.org/issues/15613?journal_id=768622019-02-20T04:40:00Zmarcandre (Marc-Andre Lafortune)marcandre-ruby-core@marc-andre.ca
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul><p>Applied in changeset trunk|r67095.</p>
<hr>
<ul>
<li>spec/ruby: Tweak Enuemrator::Chain#rewind spec so that arity of block matches what is yielded</li>
</ul>
<p>Calling <code>and_yield(*args)</code> adds an implicit expectation that all the <code>args</code> are passed to a block that can accept them, even though blocks that are not lambda-like don't mind extra arguments.<br>
It so happens that this spec passed on Ruby 2.6.1 See [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Enumerator::Chain#each doesn't relay block signature (Closed)" href="https://redmine.ruby-lang.org/issues/15613">#15613</a>]</p> Ruby master - Bug #15613: Enumerator::Chain#each doesn't relay block signaturehttps://redmine.ruby-lang.org/issues/15613?journal_id=768782019-02-22T16:07:47Zmarcandre (Marc-Andre Lafortune)marcandre-ruby-core@marc-andre.ca
<ul><li><strong>Status</strong> changed from <i>Closed</i> to <i>Open</i></li></ul> Ruby master - Bug #15613: Enumerator::Chain#each doesn't relay block signaturehttps://redmine.ruby-lang.org/issues/15613?journal_id=812322019-08-28T23:46:12Zjeremyevans0 (Jeremy Evans)merch-redmine@jeremyevans.net
<ul><li><strong>File</strong> <a href="/attachments/8029">enum-chain-lambda-15613.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8029/enum-chain-lambda-15613.patch">enum-chain-lambda-15613.patch</a> added</li></ul><p>Attached is a patch that fixes this issue by switching from <code>rb_block_call</code> to <code>rb_funcall_with_block</code>.</p> Ruby master - Bug #15613: Enumerator::Chain#each doesn't relay block signaturehttps://redmine.ruby-lang.org/issues/15613?journal_id=829412019-12-03T21:18:54Zjeremyevans (Jeremy Evans)code@jeremyevans.net
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul><p>Applied in changeset <a class="changeset" title="Make Enumerator::Chain#each treat lambdas as lambda Previously, lambdas were converted to procs ..." href="https://redmine.ruby-lang.org/projects/ruby-master/repository/git/revisions/a029b54ec716812ade37fef1f857c49f821a8cc8">git|a029b54ec716812ade37fef1f857c49f821a8cc8</a>.</p>
<hr>
<p>Make Enumerator::Chain#each treat lambdas as lambda</p>
<p>Previously, lambdas were converted to procs because of how<br>
rb_block_call works. Switch to rb_funcall_with_block, which<br>
handles procs as procs and lambdas as lambdas.</p>
<p>Fixes [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Enumerator::Chain#each doesn't relay block signature (Closed)" href="https://redmine.ruby-lang.org/issues/15613">#15613</a>]</p>