Actions
Misc #20574
closedDevMeeting-2024-07-11
    Misc #20574:
    DevMeeting-2024-07-11
  
Status:
Closed
Assignee:
-
Description
The next dev meeting¶
Date: 2024/07/11 13:00-17:00 (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2024/DevMeeting-2024-07-11.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/07/08. 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) over 1 year ago
          
          
        
        
      
      - Related to Misc #14770: [META] DevelopersMeeting added
 
        
          
          Updated by tompng (tomoya ishida) over 1 year ago
          
          
        
        
      
      - [Bug #20433] Hash.inspect for some hash returns syntax invalid representation
- Change Hash#inspect style to 
{key: value}or not 
 - Change Hash#inspect style to 
 
        
          
          Updated by shugo (Shugo Maeda) over 1 year ago
          
          
        
        
      
      - [Feature #20576] Add MatchData#bytebegin and MatchData#byteend
- Matz doesn't like the names bytebegin and byteend.
- Other names: byte_begin/byte_end, begin_in_bytes/end_in_bytes
 - If byte_begin/byte_end are chosen, should we add aliases for existing methods such as byteslice?
 - Since these methods are for advanced users, it may be more important to prioritize consistency with existing methods over readability.
 
 
 - Matz doesn't like the names bytebegin and byteend.
 
        
          
          Updated by byroot (Jean Boussier) over 1 year ago
          
          
        
        
      
      - [Bug #20593] 
Kernel#formatemits atoo many arguments for format stringwarning when called with a single hash and no key is used- 
formatemits warnings when too many positional arguments were passed, but doesn't do so if too many hash keys were passed. - This makes sense to me because extra named argument are generally not indicative of a bug.
 - However if no key is consumed at all, it does emit a warning: 
format("test", unused: 2) # warning: too many arguments for format string - I think it's a bug and no warning should be emitted.
 
 - 
 
        
          
          Updated by ufuk (Ufuk Kayserilioglu) over 1 year ago
          
          
        
        
      
      - [Feature #19979] Allow methods to declare that they don't accept a block via 
&nil- Based on the discussion in DevMeeting at RubyKaigi 2024, it seems this feature is still considered valuable.
 - I've rebased @nobu (Nobuyoshi Nakada) 's original work and built upon it to create a PR: https://github.com/ruby/ruby/pull/11065
 - The PR adds support for the new syntax for both parsers and both compilers (
parse.yandprism) - Do we still want to go ahead with this feature?
 
 
        
          
          Updated by andrykonchin (Andrew Konchin) over 1 year ago
          
          
        
        
      
      - [Bug #20606] 
Thread#thread_variable_getandThread#thread_variable?don't raiseTypeErrorexception for incorrect argument value when thread-local variable storage is not initialised yet- These methods raise 
is not a symbol nor a string (TypeError)when called with akeythat is not a String or a Symbol only when there are some thread local variables already assigned for a thread. And don't raise any exception (and returnnilorfalsecorrespondingly) if there is no any variable assigned yet. - Is it expected behaviour? If not - is it OK to fix this issue (and validate the argument value before checking whether a storage is initialised) in the next Ruby release (3.4)? Or a deprecation warning should be added instead in 3.4 to have the issue fixed later?
 
 - These methods raise 
 
        
          
          Updated by jeremyevans0 (Jeremy Evans) over 1 year ago
          
          
        
        
      
      - [Bug #20505] Reassigning the block argument in method body keeps old block when calling super with implicit arguments (jeremyevans0)
- This makes behavior when reassigning block argument inconsistent with reassigning positional/keyword arguments.
 - Do we want to make any changes here?
 
 - [Bug #19266] URI::Generic should use URI::RFC3986_PARSER instead of URI::DEFAULT_PARSER (jeremyevans0)
- This allows URI::Generic.build to accept hostnames with underscores.
 - This will also fix #19756.
 - RFC 3986 is almost 20 years old now.
 - There is an open pull request to uri to implement this change that passes all uri tests.
 - Can the pull request be merged?
 
 - [Bug #9115] Logger traps all exceptions; breaks Timeout (jeremyevans0)
- I know logger is moving out of stdlib, but it would be nice to fix this before then.
 - There is an almost 5-year old backwards-compatible pull request that supports not swallowing given exception classes.
 - An alternative, less backwards-compatible approach would be to only rescue IOErrors.
 - No response from the logger maintainer in the last 4 years.
 - Can we make a decision on how to handle this?
 
 
        
          
          Updated by akr (Akira Tanaka) over 1 year ago
          
          
        
        
      
      - [Feature #20610] Float::INFINITY as IO.select timeout argument (akr)
- Float::INFINITY is useful for timeout computation.
 
 
        
          
          Updated by eightbitraptor (Matt V-H) over 1 year ago
          
          ยท Edited
        
        
      
      - [Feature #20612] Introduce new Epsilon (no-op) GC
- Idea taken from this Java implementation
- Used for testing and experimentation only, with the recently merged modular GC work
 
 - We'd like to introduce a 
gcdirectory, to better facilitate working with modular GC's 
 - Idea taken from this Java implementation
 - [Feature #20443] Allow Major GC's to be disabled
- As discussed, I've introduced a configuration mechanism to GC implementations
 - I'd like a final decision on the name of the method.
 - I prefer 
configfor the reasons outlined here 
 
        
          
          Updated by byroot (Jean Boussier) over 1 year ago
          
          
        
        
      
      - [Feature #20594] A new String method to append bytes while preserving encoding (byroot)
- When working with binary (messagepack, protobuf) or mixed encoding protocols (Redis, Memcached, etc), it's common to assemble string with different encodings.
 - Typical example is to have a 
BINARYbuffer and assemble someUTF-8strings in it. - In such cases 
Encoding::ASCII_8BITis very inconvenient as it will do encoding negociation. - I propose a 
String#byteconcatmethod that appends string content while preserving the left hand side encoding. - The logical signature would be to behave like 
String#concat(take varg args, accept String or Integer, returnself) - YJIT team is concerned about the performance implication of varargs, and would prefer a single argument.
 
 
        
          
          Updated by byroot (Jean Boussier) over 1 year ago
          
          
        
        
      
      - [Feature #20443] Allow Major GC's to be disabled (eightbitraptor)
- The feature is ready and already accepted.
 - But there is a need for a confirmation for the new 
GC.configmethod. - Documentation and signature at https://github.com/ruby/ruby/pull/10598/files#diff-62dbc1900bf29e12485f716fc592fc4bebbcd595b921787b6af9b66d5e4a5de7R256-R278
 
 
        
          
          Updated by yui-knk (Kaneko Yuichiro) over 1 year ago
          
          
        
        
      
      - [Feature #20624] Enhance 
RubyVM::AbstractSyntaxTree::Node#locationsmethod andRubyVM::AbstractSyntaxTree::Locationclass (yui-knk)- Some types of node need to provide more than one location information
 - Add a new method and a new class under 
RubyVM::AbstractSyntaxTree 
 
        
          
          Updated by mame (Yusuke Endoh) over 1 year ago
          
          
        
        
      
      - Description updated (diff)
 - Status changed from Open to Closed
 
Actions