Misc #18346
closed
DevelopersMeeting20211209Japan
Added by mame (Yusuke Endoh) about 3 years ago.
Updated almost 3 years ago.
Description
The next dev meeting¶
Date: 2021/12/09 13:00-17:00 (JST)
Place/Sign-up/Agenda/Log: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20211209Japan.md
- 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.)
Example:
* [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 open — 0 closed)
- [Feature #18349] Let --jit enable YJIT on supported platforms (k0kubun)
- Any concerns? Can we do this from Ruby 3.1?
- [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.
- [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?
- [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?
- [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?
- [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. https://github.com/ruby/debug/issues/408
- This cause lots of confusion for users.
- Could alternatively be
Module#module_defined
, to only be called for Module/Class
- [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" }
- [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.
- [Feature #18331] Kernel.#Time (sawa)
- Introduce
Kernel.#Time
{instead of/in addition to} extending Time.new
as in #18033.
- Similar methods like
Kernel#.Integer
are used to parse strings, and this is a good fit for Time
.
- Description updated (diff)
- Status changed from Open to Closed
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0