https://redmine.ruby-lang.org/https://redmine.ruby-lang.org/favicon.ico?17113305112022-01-29T08:36:33ZRuby Issue Tracking SystemRuby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=962452022-01-29T08:36:33Zmame (Yusuke Endoh)mame@ruby-lang.org
<ul><li><strong>Related to</strong> <i><a class="issue tracker-5 status-1 priority-4 priority-default" href="/issues/14770">Misc #14770</a>: [META] DevelopersMeeting</i> added</li></ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=962772022-01-31T00:45:34Zshugo (Shugo Maeda)
<ul></ul><ul>
<li>[Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Byte-based operations for String (Closed)" href="https://redmine.ruby-lang.org/issues/13110">#13110</a>] Byte-based operations for String
<ul>
<li>Are there any objections to introduce byteindex, byterindex and byteoffset? (not bytesplice)</li>
<li>Should the method names be <code>byte_index</code>, <code>byte_rindex</code>, and <code>byte_offset</code>?</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=963212022-02-01T20:47:33Zpeterzhu2118 (Peter Zhu)peter@peterzhu.ca
<ul></ul><ul>
<li>[Feature <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: The ABI version of dev builds of CRuby does not correspond to the ABI (Closed)" href="https://redmine.ruby-lang.org/issues/18249">#18249</a>] The ABI version of dev builds of CRuby does not correspond to the ABI
<ul>
<li>ABI checking for development Ruby.</li>
<li>Calculates the MD5 hash of header files during compilation of Ruby, stores this MD5 in native extensions, and compares the values when loading the binary.</li>
<li>Prevents incompatible binaries from being loaded, which can cause bugs, crashes, or other incorrect behavior.</li>
<li>Summary of motivation here: <a href="https://bugs.ruby-lang.org/issues/18249#note-15" class="external">https://bugs.ruby-lang.org/issues/18249#note-15</a>
</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=963252022-02-02T01:43:59Zhsbt (Hiroshi SHIBATA)hsbt@ruby-lang.org
<ul></ul><ul>
<li>[Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Hide patchlevel from `ruby -v` (Closed)" href="https://redmine.ruby-lang.org/issues/18513">#18513</a>] Hide patchlevel from <code>ruby -v</code>
<ul>
<li>There is no reason to display it now.</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=963292022-02-02T08:32:48Zbyroot (Jean Boussier)byroot@ruby-lang.org
<ul></ul><ul>
<li>[Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Introduce a public WeakKeysMap that compares by equality (Closed)" href="https://redmine.ruby-lang.org/issues/18498">#18498</a>] Introduce a public <code>WeakKeysMap</code> that compares by equality (byroot)
<ul>
<li>Ruby's current weak reference constructs are not very usable.</li>
<li>The most useful weak collection that is offered by most platform is <code>WeakKeysMap</code>
</li>
<li>The keys would be weak references, but the values would be strong references</li>
<li>It would use equality semantic, just like a regular Hash</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=963752022-02-03T16:24:57Zheadius (Charles Nutter)headius@headius.com
<ul></ul><ul>
<li>[Feature <a class="issue tracker-2 status-7 priority-4 priority-default closed" title="Feature: Explore lazy RubyGems boot to reduce need for --disable-gems (Feedback)" href="https://redmine.ruby-lang.org/issues/18568">#18568</a>] Explore lazy RubyGems boot to reduce need for --disable-gems
<ul>
<li>With more and more default gems, RubyGems has become a major part of Ruby's startup time.</li>
<li>On CRuby, the base boot time is reduced by 80% using <code>--disable-gems</code>.</li>
<li>Several ruby-core members would like to remove <code>--disable-gems</code> but others and some users need it for fast command line tools.</li>
<li>It seems like it is time to eliminate the overhead of booting RubyGems and default gemspecs.</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=963832022-02-04T11:46:17Zhsbt (Hiroshi SHIBATA)hsbt@ruby-lang.org
<ul></ul><ul>
<li>[Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Removed the bundled sources from release package after Ruby 3.2 (Closed)" href="https://redmine.ruby-lang.org/issues/18571">#18571</a>] Removed the bundled sources from release package after Ruby 3.2
<ul>
<li>(dummy comment)</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=964032022-02-07T08:45:20Zbyroot (Jean Boussier)byroot@ruby-lang.org
<ul></ul><p>[Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Merge `io-wait` and `io-nonblock` gems into core IO (Closed)" href="https://redmine.ruby-lang.org/issues/18566">#18566</a>] Merge <code>io-wait</code> gem into core <code>IO</code> class. (byroot)</p>
<ul>
<li>It's very small and any non-trivial IO code will require it.</li>
<li>Merge io-wait into io.c for Ruby 3.2</li>
<li>Remove io-wait as a dependency of all gems maintained by ruby-core (e.g. net-protocol).</li>
<li>Publish a new io-wait version that is simply an empty gem.</li>
<li>Add a <code>lib/io/wait.rb</code> stub, with eventually a deprecation warning.</li>
<li><a class="user active user-mention" href="https://redmine.ruby-lang.org/users/724">@normalperson (Eric Wong)</a> suggest to do the same with <code>io-nonblock</code>.</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=964092022-02-07T18:22:35Znormalperson (Eric Wong)normalperson@yhbt.net
<ul></ul><p>"byroot (Jean Boussier)" <a href="mailto:noreply@ruby-lang.org" class="email">noreply@ruby-lang.org</a> wrote:</p>
<blockquote>
<p>Issue <a class="issue tracker-5 status-5 priority-4 priority-default closed" title="Misc: DevMeeting-2022-02-17 (Closed)" href="https://redmine.ruby-lang.org/issues/18557">#18557</a> has been updated by byroot (Jean Boussier).</p>
<p>[Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Merge `io-wait` and `io-nonblock` gems into core IO (Closed)" href="https://redmine.ruby-lang.org/issues/18566">#18566</a>] Merge <code>io-wait</code> gem into core <code>IO</code> class. (byroot)</p>
<ul>
<li>It's very small and any non-trivial IO code will require it.</li>
<li>Merge io-wait into io.c for Ruby 3.2</li>
<li>Remove io-wait as a dependency of all gems maintained by ruby-core (e.g. net-protocol).</li>
<li>Publish a new io-wait version that is simply an empty gem.</li>
<li>Add a <code>lib/io/wait.rb</code> stub, with eventually a deprecation warning.</li>
</ul>
</blockquote>
<p>Please just keep lib/io/wait.rb stub empty indefinitely. No<br>
need for deprecation warning, just a no-op is fine and don't<br>
cause pain for existing users. I don't want to hurt:</p>
<ol>
<li>users who aren't coders</li>
<li>users who lack permissions to change code</li>
<li>codebases which need to support both old/ancient Rubies + new ones</li>
</ol>
<p>I'm looking at system-wide implications from distro-installed Rubies;<br>
not from a webapp+bundler perspective.</p>
<blockquote>
<ul>
<li><a class="user active user-mention" href="https://redmine.ruby-lang.org/users/724">@normalperson (Eric Wong)</a> suggest to do the same with <code>io-nonblock</code>.</li>
</ul>
</blockquote>
<p>Actually, Benoit suggested io-nonblock. I suggested going beyond that :)</p> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=964112022-02-07T22:31:24Zjeremyevans0 (Jeremy Evans)merch-redmine@jeremyevans.net
<ul></ul><ul>
<li>[Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Kernel#binding behaves differently depending on implementation language of items on the stack (Closed)" href="https://redmine.ruby-lang.org/issues/18487">#18487</a>] Kernel#binding behaves differently depending on implementation language of items on the stack (jeremyevans0)
<ul>
<li>Is it OK to limit Kernel#binding to only look at the preceding frame, instead of the closest Ruby-level frame?</li>
<li>If so, is the patch acceptable?</li>
</ul>
</li>
<li>[Bug <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Add block or filtered forms of Kernel#caller to allow early bail-out (Closed)" href="https://redmine.ruby-lang.org/issues/16663">#16663</a>] Add block or filtered forms of Kernel#caller to allow early bail-out (jeremyevans0)
<ul>
<li>Since the last developer meeting, a prototype has been created.</li>
<li>Is the behavior of the prototype acceptable?</li>
<li>Incorrect usage with <code>to_enum</code> raises <code>StopIteration</code> instead of crashing. Is that acceptable?</li>
</ul>
</li>
<li>[Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Regexp absense operator has no chance to ^C (Closed)" href="https://redmine.ruby-lang.org/issues/14103">#14103</a>] Regexp absense operator has no chance to <code>^C</code> (jeremyevans0)
<ul>
<li>One possible way around this is checking for interrupts and potentially yield to another thread every N times during backtracking.</li>
<li>I submitted a pull request to do that (N = 1000), and it fixes the example given.</li>
<li>Is such an approach acceptable? If so, is the patch acceptable?</li>
<li>One issue not addressed by the patch is the modification of the string being searched by another thread during regexp evaluation (potentially causing a crash), but I'm not sure whether that is possible.</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=964132022-02-07T22:52:12Zgreggzst (Grzegorz Jakubiak)
<ul></ul><ul>
<li>[Feature <a class="issue tracker-2 status-1 priority-4 priority-default" title="Feature: Sets: need ♥️ (Open)" href="https://redmine.ruby-lang.org/issues/16989">#16989</a>] Sets: need ♥️
<ul>
<li>matz has already accepted adding Sets as default. However, there hasn’t been any updates on the progress</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=964282022-02-08T18:57:06Zbyroot (Jean Boussier)byroot@ruby-lang.org
<ul></ul><ul>
<li>[Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: GVL instrumentation API (Closed)" href="https://redmine.ruby-lang.org/issues/18339">#18339</a>] GVL instrumentation API
<ul>
<li>The goal is to be able to measure GVL contention and tell users if they use too many threads for their workload.</li>
<li>It would allow to instrument the GVL which is a key metric for threaded environments, and to tune concurrency in applications.</li>
<li>I implemented a (posix only for now) draft: <a href="https://github.com/ruby/ruby/pull/5500" class="external">https://github.com/ruby/ruby/pull/5500</a>.</li>
<li>The overhead when no hook is registered is just a single unprotected boolean check, so close to zero.</li>
<li>
<code>rb_gvl_hook_t * rb_gvl_event_new(rb_gvl_callback callback, rb_event_flag_t event)</code> to register a hook.</li>
<li>
<code>bool rb_gvl_event_delete(rb_gvl_hook_t * hook)</code> to unregister it.</li>
<li>Is the general idea acceptable?</li>
<li>Any API change before I try to implement the Windows version?</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=964472022-02-09T21:54:01Ztenderlovemaking (Aaron Patterson)tenderlove@ruby-lang.org
<ul></ul><ul>
<li>[Feature <a class="issue tracker-2 status-6 priority-4 priority-default closed" title="Feature: Feature Proposal: Extend 'protected' to support module friendship (Rejected)" href="https://redmine.ruby-lang.org/issues/12962">#12962</a>] Adding "friend" method visibility
<ul>
<li>Allow libraries with Object Oriented internals to call "not public" methods</li>
<li>Useful when "protected" is too restricted, but the method shouldn't be "public"</li>
<li>Refinements can't help because they are lexically scoped
<ul>
<li>It's easier to add method visibility than to move all code around</li>
</ul>
</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=964602022-02-10T07:38:35Zzverok (Victor Shepelev)zverok.offline@gmail.com
<ul></ul><ul>
<li>[Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Range#include? inconsistency for beginless String ranges (Closed)" href="https://redmine.ruby-lang.org/issues/18580">#18580</a>] <code>Range#include?</code> inconsistency for beginless String ranges (zverok)
<ul>
<li>
<code>(...'z').include?('ww')</code> works for strings, due to historical reasons</li>
<li>there is no semantical justification for it, and it is confusing for users</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=964862022-02-14T14:08:07Zktsj (Kazuki Tsujimoto)kazuki@callcc.net
<ul></ul><ul>
<li>[Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Promote find pattern to official feature (Closed)" href="https://redmine.ruby-lang.org/issues/18585">#18585</a>] Promote find pattern to official feature (ktsj)
<ul>
<li>Is it OK to to promote find pattern to official feature?</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=964872022-02-14T14:15:34Znobu (Nobuyoshi Nakada)nobu@ruby-lang.org
<ul></ul><ul>
<li>[Misc <a class="issue tracker-5 status-8 priority-4 priority-default closed" title="Misc: mswin builds & vs2022 (Third Party's Issue)" href="https://redmine.ruby-lang.org/issues/18362">#18362</a>] mswin builds & vs2022
<ul>
<li>What can we do for the bug?</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=964912022-02-14T15:24:28Zbyroot (Jean Boussier)byroot@ruby-lang.org
<ul></ul><ul>
<li>[Feature <a class="issue tracker-2 status-1 priority-4 priority-default" title="Feature: Rename `ASCII-8BIT` encoding to `BINARY` (Open)" href="https://redmine.ruby-lang.org/issues/18576">#18576</a>] Rename <code>ASCII-8BIT</code> encoding to <code>BINARY</code>
<ul>
<li>The <code>ASCII-8BIT</code> name is very confusing for beginners.</li>
<li>Even for people who know what it is, it can easily be misread as <code>US-ASCII</code>
</li>
<li>It has been aliased as <code>BINARY</code> for a very long time, and in the vast majority of the case it's a better description.</li>
<li>I expect the backward compatibility problems to be very minimal (limited to <code>Encoding#name</code>).</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=965152022-02-16T17:36:32Zkddnewton (Kevin Newton)kddnewton@gmail.com
<ul></ul><ul>
<li>[Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Finer-grained constant invalidation (Closed)" href="https://redmine.ruby-lang.org/issues/18589">#18589</a>] Finer-grained constant invalidation (Kevin Newton)
<ul>
<li>We want to trade a very small memory increase for much better constant cache invalidation.</li>
<li>This will allow relying on more stable constant caches for better code specialization in JITs.</li>
<li>This can also help speed up initial boot times since caches are currently invalidated each time a class is created.</li>
</ul>
</li>
</ul> Ruby master - Misc #18557: DevMeeting-2022-02-17https://redmine.ruby-lang.org/issues/18557?journal_id=965642022-02-18T02:30:55Zmame (Yusuke Endoh)mame@ruby-lang.org
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/96564/diff?detail_id=62047">diff</a>)</li><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul>