https://bugs.ruby-lang.org/
https://bugs.ruby-lang.org/favicon.ico?1711330511
2019-08-16T13:19:05Z
Ruby Issue Tracking System
Ruby master - Bug #16107: Module#refine and Module#using behaved unexpectedly
https://bugs.ruby-lang.org/issues/16107?journal_id=80801
2019-08-16T13:19:05Z
nobu (Nobuyoshi Nakada)
nobu@ruby-lang.org
<ul></ul><p>I shortened the example a little.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="k">class</span> <span class="nc">A</span>
<span class="k">end</span>
<span class="k">module</span> <span class="nn">M1</span>
<span class="n">refine</span> <span class="no">A</span> <span class="k">do</span>
<span class="k">def</span> <span class="nf">foo</span>
<span class="nb">puts</span> <span class="s2">"foo"</span>
<span class="k">end</span>
<span class="k">end</span>
<span class="k">end</span>
<span class="k">module</span> <span class="nn">M2</span>
<span class="n">using</span> <span class="no">M1</span>
<span class="n">refine</span> <span class="no">A</span> <span class="k">do</span>
<span class="no">A</span><span class="p">.</span><span class="nf">new</span><span class="p">.</span><span class="nf">foo</span>
<span class="k">end</span>
<span class="k">end</span>
</code></pre>
<p>It seems that a <code>refine</code> block does not inherit outer <code>using</code>s.</p>
Ruby master - Bug #16107: Module#refine and Module#using behaved unexpectedly
https://bugs.ruby-lang.org/issues/16107?journal_id=80802
2019-08-16T13:25:28Z
osyo (manga osyo)
<ul></ul><p>(FYI) It works if you <code>using M1</code> it in <code>refine A</code> .</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="k">class</span> <span class="nc">A</span>
<span class="k">end</span>
<span class="k">module</span> <span class="nn">M1</span>
<span class="n">refine</span> <span class="no">A</span> <span class="k">do</span>
<span class="k">def</span> <span class="nf">foo</span>
<span class="nb">puts</span> <span class="s2">"foo"</span>
<span class="k">end</span>
<span class="k">end</span>
<span class="k">end</span>
<span class="k">module</span> <span class="nn">M2</span>
<span class="n">refine</span> <span class="no">A</span> <span class="k">do</span>
<span class="n">using</span> <span class="no">M1</span>
<span class="c1"># OK</span>
<span class="no">A</span><span class="p">.</span><span class="nf">new</span><span class="p">.</span><span class="nf">foo</span>
<span class="k">end</span>
<span class="k">end</span>
</code></pre>
<p><a href="https://wandbox.org/permlink/P1vRSmsHAex7MpSL" class="external">https://wandbox.org/permlink/P1vRSmsHAex7MpSL</a></p>
Ruby master - Bug #16107: Module#refine and Module#using behaved unexpectedly
https://bugs.ruby-lang.org/issues/16107?journal_id=80805
2019-08-16T15:19:25Z
nobu (Nobuyoshi Nakada)
nobu@ruby-lang.org
<ul></ul><p><a href="https://github.com/ruby/ruby/pull/2373" class="external">https://github.com/ruby/ruby/pull/2373</a></p>
Ruby master - Bug #16107: Module#refine and Module#using behaved unexpectedly
https://bugs.ruby-lang.org/issues/16107?journal_id=80814
2019-08-17T03:30:56Z
nobu (Nobuyoshi Nakada)
nobu@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul><p>Applied in changeset <a class="changeset" title="Search refinement module along nested usings [Bug #16107]" href="https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/11a9f7ab9431b0f361e43b4ac2bd6ee44827d88b">git|11a9f7ab9431b0f361e43b4ac2bd6ee44827d88b</a>.</p>
<hr>
<p>Search refinement module along nested usings</p>
<p>[Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Module#refine and Module#using behaved unexpectedly (Closed)" href="https://bugs.ruby-lang.org/issues/16107">#16107</a>]</p>