Misc #18266



Added by mame (Yusuke Endoh) over 1 year ago. Updated about 1 year ago.



The next dev meeting

Date: 2021/11/18 13:00-17:00 (JST)

  • Dev meeting IS NOT a decision-making place. All decisions should be done at the bug tracker.
  • Dev meeting is a place we can ask Matz, nobu, nurse and other developers directly.
  • Matz is a very busy person. Take this opportunity to ask him. If you can not attend, other attendees can ask instead of you (if attendees can understand your issue).
  • We will write a log about the discussion to a file or to each ticket in English.
  • All activities are best-effort (keep in mind that most of us are volunteer developers).
  • The date, time and place are scheduled according to when/where we can reserve Matz's time.
  • DO NOT discuss then on this ticket, please.

Call for agenda items

If you have a ticket that you want matz and committers to discuss, please post it into this ticket in the following format:

* [Ticket ref] Ticket title (your name)
  * Comment (A summary of the ticket, why you put this ticket here, what point should be discussed, etc.)


* [Feature #14609] `Kernel#p` without args shows the receiver (ko1)
  * I feel this feature is very useful and some people say :+1: so let discuss this feature.
  • It is recommended to add a comment by 2021/11/15. We hold a preparatory meeting to create an agenda a few days before the dev-meeting.
  • The format is strict. We'll use this script to automatically create an markdown-style agenda. We may ignore a comment that does not follow the format.
  • Your comment is mandatory. We cannot read all discussion of the ticket in a limited time. We appreciate it if you could write a short summary and update from a previous discussion.

Related issues 1 (1 open0 closed)

Related to Ruby master - Misc #14770: [META] DevelopersMeetingOpenActions
Actions #1

Updated by mame (Yusuke Endoh) over 1 year ago

  • Related to Misc #14770: [META] DevelopersMeeting added

Updated by zverok (Victor Shepelev) over 1 year ago

  • [Feature #18262] Enumerator::Lazy#partition (zverok)
    • Part of the effort to make Lazy more natural: #partition to return two lazy enumerators

Updated by shugo (Shugo Maeda) over 1 year ago

  • [Feature #12737] Module#defined_refinements (shugo)
    • It's good to have for debugging purposes. Users can see refinements defined in a module in irb etc. without reading code.
  • [Feature #14332] Module.used_refinements to list refinement modules (shugo)
    • It's good to have for debugging purposes. Users can see all activated refinements in a given scope.

Updated by shugo (Shugo Maeda) over 1 year ago

  • [Bug #18270] Refinement#{extend_object,append_features,prepend_features} should be removed
    • Refinements are different from normal modules, so it's potentially dangerous to use refinements as mixins.
    • Why not deprecate them in Ruby 3.1, and remove them in Ruby 3.2.

Updated by Dan0042 (Daniel DeLorme) over 1 year ago

  • [Feature #16252] Hash#partition should return hashes (dan0042)
    • More consistent with select/reject
    • More in line with existing usage (most people seem to convert the results to hashes)
    • More efficient than arrays of arrays
    • Mostly compatible

Updated by Eregon (Benoit Daloze) about 1 year ago

  • [Misc #18285] NoMethodError#message uses a lot of CPU/is really expensive to call (eregon)
  • [Bug #18243] Ractor.make_shareable does not freeze the receiver of a Proc but allows accessing ivars of it (eregon)

Updated by byroot (Jean Boussier) about 1 year ago

  • [Feature #18273] Class#subclasses
    • Something we forgot to discuss as part of [Feature #14394].
    • There are cases where you only want direct subclasses, not the whole tree.
    • Can either be Class#subclasses like in Active Record.
    • Or could be a boolean parameter on descendants.

Updated by Eregon (Benoit Daloze) about 1 year ago

  • [Feature #18287] Support nil value for sort in Dir.glob (eregon)
    • Let's be consistent for core methods and treat nil as false, or raise if not boolean.

Updated by jeremyevans0 (Jeremy Evans) about 1 year ago

  • [Feature #6210] load should provide a way to specify the top-level module (jeremyevans0)
    • This is fairly easy to implement in a backwards compatible manner, and seems useful.
    • Are we OK adding this feature? If so, is the pull request acceptable?
  • [Feature #11256] anonymous block forwarding (jeremyevans0)
    • This was accepted by @matz (Yukihiro Matsumoto) four years ago, but never committed.
    • I've created a new working version based on patches from @nobu (Nobuyoshi Nakada) and @mame (Yusuke Endoh).
    • There should be no backwards compatibility issues, as the proposed syntax is currently invalid.
    • Is it OK to add this feature? If so, is the pull request acceptable?
  • [Feature #11689] Add methods allow us to get visibility from Method and UnboundMethod object. (jeremyevans0)
    • As requested by @matz (Yukihiro Matsumoto), I put together a patch for #public?, #private?, and #protected?.
    • Do we want to use this approach, or do we want to reconsider the #visibility method that returns a symbol?
    • If we want to use this approach, is the pull request acceptable?
  • [Feature #12495] Make "private" return the arguments again, for chaining (jeremyevans0)
    • This seems useful, and the backwards compatible issues are quite small.
    • Are we OK adding this feature? If so, is the pull request acceptable?
  • [Feature #16663] Add block or filtered forms of Kernel#caller to allow early bail-out (jeremyevans0)
    • Currently it is not possible to generate a partial backtrace without knowing how many frames you need up front.
    • This feature allows the production of partial backtraces without that knowledge.
    • For example, you can use it to return the only the first frame that meets some criteria.
    • There shouldn't be any backwards compatibility issues, as caller/caller_locations does not currently use a block.
    • Are we OK adding this feature? If so, is the pull request acceptable?

Updated by ioquatix (Samuel Williams) about 1 year ago

  • [Bug #18296] Custom exception formatting should override Exception#full_message.
    • (mame: you need to write your comment)

Updated by duerst (Martin Dürst) about 1 year ago

  • [Feature #18336] How to deal with Trojan Source vulnerability
    • For [A], Bidi characters, I think "wait and see" may be the right decision, but it should be explicit.
  • [Feature #18337] Ruby allows zero-width characters in identifiers

Updated by mame (Yusuke Endoh) about 1 year ago

Warning: Please read the instruction carefully. You must briefly write what you want us to discuss as a comment. It is ideal if we can start discussing without reading the ticket itself.

Updated by byroot (Jean Boussier) about 1 year ago

[Feature #18339] GVL instrumentation API

  • It would be also very useful if the number of waiting thread was part of the hook arguments.
  • It would allow to instrument the GVL which is a key metric for threaded environments, and to tune concurrency in applications.
  • Is the feature acceptable?
  • Any performance concerns when no hook is registered?
Actions #14

Updated by mame (Yusuke Endoh) about 1 year ago

  • Description updated (diff)
  • Status changed from Open to Closed
Actions #15

Updated by mame (Yusuke Endoh) about 1 year ago

  • Description updated (diff)

Also available in: Atom PDF