Misc #18346



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



The next dev meeting

Date: 2021/12/09 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/12/06. 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) about 1 year ago

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

Updated by k0kubun (Takashi Kokubun) about 1 year ago

  • [Feature #18349] Let --jit enable YJIT on supported platforms (k0kubun)
    • Any concerns? Can we do this from Ruby 3.1?

Updated by Eregon (Benoit Daloze) about 1 year ago

  • [Feature #16038] Provide a public WeakMap that compares by equality rather than by identity (eregon)
    • This is necessary to have access to a weak-keys map on TruffleRuby/JRuby. There are many use cases:, notably this PR in Rails and all the reasons WeakHashMap is used in Java code.

Updated by jeremyevans0 (Jeremy Evans) about 1 year ago

  • [Feature #18351] Support anonymous rest and keyword rest argument forwarding (jeremyevans0)
    • I think this is a natural addition after the addition of anonymous block forwarding in #11256.
    • Is it OK to support this syntax? If so, is the patch acceptable?
  • [Feature #16663] Add block or filtered forms of Kernel#caller to allow early bail-out (jeremyevans0)
    • Two possible method names are find_caller and each_caller.
    • find_caller optimizes for the case where the first matching frame will be returned.
    • each_caller is more general, always iterating unless there is a non-local exit (break/return).
    • Are either of these names acceptable? If so, which method name should be used?
  • [Feature #12084] Class#instance (jeremyevans0)
    • This should be simple to implement, since a singleton class keeps a reference to the instance.
    • Are we OK adding this feature? If so, is the method name acceptable, or do we want singleton_instance?
    • If called on a non-singleton class, should TypeError be raised?
    • For TrueClass, FalseClass, and NilClass, should it return true, false, and nil?
  • [Bug #14891] Pathname#join has different behaviour to File.join (jeremyevans0)
  • [Bug #14434] IO#reopen fails after EPIPE (jeremyevans0)
    • I'm not sure whether this behavior is a bug.
    • The behavior has existed since Ruby 1.9 (no failure in 1.8.7).
    • Can we decide whether this behavior is expected or a bug?

Updated by Eregon (Benoit Daloze) about 1 year ago

  • [Feature #18370] Call Exception#full_message to print exceptions reaching the top-level (eregon)
    • Improve consistency in how exceptions are shown, and makes it easier to evolve exception formatting.
    • OK to do?

Updated by peterzhu2118 (Peter Zhu) about 1 year ago

  • [Feature #18364] Add GC.stat_pool for Variable Width Allocation (peterzhu2118)
    • This feature will allow accessing stats for memory pools through Ruby. This will be especially useful for the Variable Width Allocation feature.
    • Should we extend GC.stat to return stats for memory pools or create a new method such as GC.stat_pool?
    • Is GC.stat_pool a good name?

Updated by byroot (Jean Boussier) about 1 year ago

  • [Feature #17881] Add a Module#const_added callback
    • Would allow the Zeitwerk autoloader to no longer use tracepoint.
    • The main problem with Zeitwerk using tracepoint is that since tracepoint callbacks are not "reentrant" Zeitwerk is partially broken when using a debugger, e.g.
    • This cause lots of confusion for users.
    • Could alternatively be Module#module_defined, to only be called for Module/Class

Updated by byroot (Jean Boussier) about 1 year ago

  • [Feature #15912] Allow some reentrancy during TracePoint event
    • Alternative to Module#const_added for fixing the Zeitwerk and debuggers combinaison.
    • @ko1 (Koichi Sasada) proposed Tracepoint#reopen(&block) so that debuggers can yield to the user with that.
    • Potentially with a list of reopened events: tp.reopen(:class) { "do stuff" }

Updated by shugo (Shugo Maeda) about 1 year ago

  • [Feature #12737] Module#defined_refinements
    • Is the name Module#refinements acceptable?
      • It's consistent with Module#constants.
      • Other candidates: configured_refinements, contained_refinements, defined_refinements
    • Is it OK to return an Array instead of Hash?
      • The target class of a refinement can be obtained by another new method Refinement#refined_class.
    • I'd like to add Module#refinements and Refinement#refined_class after the release of Ruby 3.1.
  • [Feature #14332] Module.used_refinements to list refinement modules
    • eregon suggested to add it soon, but It may be too late to add it in Ruby 3.1.

Updated by nobu (Nobuyoshi Nakada) about 1 year ago

Updated by sawa (Tsuyoshi Sawada) about 1 year ago

  • [Feature #18331] Kernel.#Time (sawa)
    • Introduce Kernel.#Time {instead of/in addition to} extending as in #18033.
    • Similar methods like Kernel#.Integer are used to parse strings, and this is a good fit for Time.
Actions #12

Updated by mame (Yusuke Endoh) 12 months ago

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

Also available in: Atom PDF