Misc #20075
closedDevMeeting-2024-01-17
Description
The next dev meeting¶
Date: 2024/01/17 13:00-17:00 (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2024/DevMeeting-2024-01-17.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 record of the discussion in the 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 of the meeting 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 2024/01/14. 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.
 
        
          
          Updated by mame (Yusuke Endoh) almost 2 years ago
          
          
        
        
      
      - Related to Misc #14770: [META] DevelopersMeeting added
 
        
          
          Updated by ioquatix (Samuel Williams) almost 2 years ago
          
          
        
        
      
      - [Feature #20102] Introduce 
Fiber#resuming?- Can we introduce?
 
 - [Feature #19057] Hide implementation of 
rb_io_t.- Eric has agreed to release updated gems. Can we continue to move forward?
 
 - [Bug #19857] Eval coverage is reset after each 
eval.- Can we merge proposed fix?
 
 - [Feature #19742] Introduce 
Module#anonymous?- Can we accept definition "Anonymous module is one that does not have a permanent name"?
 - Can we introduce this interface?
 
 - [Feature #18035] Introduce general model/semantic for immutability.
- Do we accept proposed syntax.
 - Do we accept proposed list of immutable classes?
 
 - [Feature #16495] Inconsistent quotes in error messages
- Gathered feedback from major players in the industry. Is it sufficient to move forward?
 
 
        
          
          Updated by matheusrich (Matheus Richard) almost 2 years ago
          
          
        
        
      
      - [Feature #13383] Module#source_location
- Matz asked for specific use cases, so here are some:
- 
Debugging/Code Discovery: Similar to
Method#source_location, it would be
useful to know where a module/class was defined (especially in large
codebases).Doing a global search for
module Foois not always helpful because
nesting might make it harder to find the right one. It can also come from
a Gem.This can help navigating new codebases much easier/faster.
 - 
Documentation: It would be useful to know where a module/class was defined
when reading the documentation. RDoc could use this to list all the places
where a module/class was defined. 
 - 
 - I think we should list all the locations, so it should be 
Module#source_locations 
 - Matz asked for specific use cases, so here are some:
 
        
          
          Updated by jeremyevans0 (Jeremy Evans) almost 2 years ago
          
          
        
        
      
      - [Feature #20066] Reduce Implicit Array/Hash Allocations For Method Calls Involving Splats (jeremyevans0)
- This is a collection of 5 optimizations, some of which are independent.
 - The 4th and 5th allow for a performance optimization not currently possible, when using anonymous splats or 
...argument forwarding instead of named splat forwarding.- I expect these optimizations to have the most impact, after code is updated to switch to anonymous splats or 
...forwarding. 
 - I expect these optimizations to have the most impact, after code is updated to switch to anonymous splats or 
 - Currently, the patch slows down yjit-bench with YJIT, because YJIT does not implement the new instructions, or contain the same optimizations.
- I expect yjit-bench with YJIT will speed up if YJIT implements the same optimizations.
 
 - Is it OK to merge the pull request as-is, or to merge a subset of the optimization patches?
 
 - [Bug #5179] Complex#rationalize and to_r with approximate zeros (jeremyevans0)
- Discussed last at the January 2020 developer meeting (as part of #5321).
 - Considering we have Float#to_r, can we change 
Complex(1, 0.0).to_rto returnRational(1,1), asComplex(1, 0.0.to_r).to_rdoes? 
 - [Bug #19918] Should 
a[&b]=cbe syntax valid? (jeremyevans0)- This is currently valid syntax, and there are tests for it.
 - Should we change this to invalid syntax?
 - If we keep this syntax:
- It currently evaluates 
cbeforeb. - Should it be fixed to evaluate 
bbeforec? 
 - It currently evaluates 
 
 - [Bug #19542] Operations on zero-sized IO::Buffer are raising (jeremyevans0)
- Is this behavior expected or a bug?
 
 
        
          
          Updated by tagomoris (Satoshi Tagomori) almost 2 years ago
          
          
        
        
      
      - [Feature #20093] Syntax or keyword to reopen existing classes/modules, never to define new classes/modules
- To make monkey-patching code more explicitly
 
 
        
          
          Updated by Eregon (Benoit Daloze) almost 2 years ago
          
          
        
        
      
      - [Feature #18576] Rename 
ASCII-8BITencoding toBINARY(eregon)- Can we experiment for 3.4 by making ASCII-8BIT the alias? If we have pushback based on actual code then let's go more conservative, but otherwise I think we should do the clean/consistent fix here.
 
 
        
          
          Updated by k0kubun (Takashi Kokubun) almost 2 years ago
          
          
        
        
      
      - [Feature #20182] Rewrite Array#each in Ruby (k0kubun)
- Can we discuss whether 
Array#eachis supposed to operate on the receiver atomically or not? 
 - Can we discuss whether 
 
        
          
          Updated by shioimm (Misaki Shioi) almost 2 years ago
          
          
        
        
      
      - [Feature #20108] Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp (shioimm)
- Can this be merged? Or is there something more to consider?
 
 
        
          
          Updated by stuyam (Stuart Yamartino) almost 2 years ago
          
          
        
        
      
      - [Ticket #20080] Introduce #bounds method on Range (stuyam)
- Easier serialization of ranges, easy array deconstruction for setting 
beginandendas variable. 
 - Easier serialization of ranges, easy array deconstruction for setting 
 
        
          
          Updated by mame (Yusuke Endoh) almost 2 years ago
          
          
        
        
      
      - Description updated (diff)
 - Status changed from Open to Closed