https://bugs.ruby-lang.org/https://bugs.ruby-lang.org/favicon.ico?17113305112020-09-22T16:00:07ZRuby Issue Tracking SystemRuby master - Bug #17182: Refinements behavior is brokenhttps://bugs.ruby-lang.org/issues/17182?journal_id=876232020-09-22T16:00:07Zjeremyevans0 (Jeremy Evans)merch-redmine@jeremyevans.net
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Assigned</i></li><li><strong>Assignee</strong> set to <i>shugo (Shugo Maeda)</i></li></ul><p>This is discussed in <a href="https://bugs.ruby-lang.org/issues/17007#note-4" class="external">https://bugs.ruby-lang.org/issues/17007#note-4</a>. I'm not sure whether the previous behavior is spec or just an implementation detail. We could revert <a class="changeset" title="Prevent SystemStackError when calling super in module with activated refinement Without this, if..." href="https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/eeef16e190cdabc2ba474622720f8e3df7bac43b">eeef16e190cdabc2ba474622720f8e3df7bac43b</a>, but then we end up with a SystemStackError in other cases. <a class="user active user-mention" href="https://bugs.ruby-lang.org/users/12">@shugo (Shugo Maeda)</a>, do you know how we should handle this case?</p> Ruby master - Bug #17182: Refinements behavior is brokenhttps://bugs.ruby-lang.org/issues/17182?journal_id=876242020-09-22T18:00:49Zjeremyevans0 (Jeremy Evans)merch-redmine@jeremyevans.net
<ul></ul><p>After some more thought, I think it's better to revert my fix and reopen <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: SystemStackError when using super inside Module included and lexically inside refinement (Closed)" href="https://bugs.ruby-lang.org/issues/17007">#17007</a>. Here's a PR for that, I plan on merging it after it passes CI: <a href="https://github.com/ruby/ruby/pull/3564" class="external">https://github.com/ruby/ruby/pull/3564</a>.</p> Ruby master - Bug #17182: Refinements behavior is brokenhttps://bugs.ruby-lang.org/issues/17182?journal_id=876272020-09-22T19:05:03Zjeremyevans (Jeremy Evans)code@jeremyevans.net
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Closed</i></li></ul><p>Applied in changeset <a class="changeset" title="Revert "Prevent SystemStackError when calling super in module with activated refinement" This re..." href="https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/179384a66862d5ef7413b6f4850b97d0becf4ec9">git|179384a66862d5ef7413b6f4850b97d0becf4ec9</a>.</p>
<hr>
<p>Revert "Prevent SystemStackError when calling super in module with activated refinement"</p>
<p>This reverts commit eeef16e190cdabc2ba474622720f8e3df7bac43b.</p>
<p>This also reverts the spec change.</p>
<p>Preventing the SystemStackError would be nice, but there is valid<br>
code that the fix breaks, and it is probably more common than cases<br>
that cause the SystemStackError.</p>
<p>Fixes [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Refinements behavior is broken (Closed)" href="https://bugs.ruby-lang.org/issues/17182">#17182</a>]</p>