Misc #19722
closed
Added by mame (Yusuke Endoh) over 1 year ago.
Updated over 1 year ago.
Description
The next dev meeting¶
Date: 2023/07/13 13:00-17:00 (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2023/DevMeeting-2023-07-13.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 2023/07/10. 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)
- [Bug #18572] Performance regression when invoking refined methods (shugo)
- Should we limit usage of using to fix the performance issue?
- [Feature #19714] Add Refinement#refined_module
- Is it OK to introduce the alias?
- [Feature #19720] Warning for non-linear Regexps (eregon)
- I think this is the best way to avoid ReDoS and ensure there are no too slow Regexps in a Ruby program/app.
- So let's add
Warning[:regexp] = true
?
- I will help to address the non-linear regexps in stdlib, default gems and bundled gems.
- [Feature #19730] Remove transient heap (peterzhu2118)
- Variable Width Allocation supports all types that used transient heap (arrays, objects, hashes, structs).
- Transient heap is no longer used for hashes.
- Transient heap is used for limited cases for arrays, objects, and structs.
- Removing the transient heap has no performance impact, significant memory decrease (5-10% decrease).
- [Feature #19729] Store object age in a bitmap (eightbitraptor)
- Allows more control of generational GC (number of generations, when are objects old).
- Adds a bitmap to each heap page (
heap_page->age_bits
).
- Frees up one of the two
FL_PROMOTED
bits from RBasic->flags
.
- The remaining
FL_PROMOTED
used as fast path optimization for the write barrier.
- Benchmarks show no performance impact, slight memory increase (due to the extra bitmap).
- [Bug #11064] #singleton_methods for objects with special singleton_class returns an empty array (jeremyevans0)
- Is it OK to make {NilClass,TrueClass,FalseClass}#singleton_method always raise an exception?
- [Bug #19293] The new Time.new(String) API is nice... but we still need a stricter version of this (jeremyevans0)
- It was apparently decided that
Time.new("2023-01")
and similar should raise an exception in 3.2.1, but that didn't happen.
- Do we want to raise an exception in this case and similar cases, and backport the changes to Ruby 3.2.3?
- [Bug #19749] Confirm correct behaviour when attaching private method with
#define_method
(jeremyevans0)
- Currently,
#define_method
does not change visibility when defining a method using the same body as it currently has.
- This seems like an oversight and not intentional behavior, can we fix it?
- [Bug #19726] Script loadde twice when requiring self (jeremyevans0)
- Do we want to add the full path of the main script to
$LOADED_FEATURES
to prevent it from being loaded again if required?
- [Bug #19544] Custom quotes inconsistency (jeremyevans0)
- Do we want to support whitespace characters as terminators for
%w
arrays?
- I don't think it is worth making changes to support this.
- [Feature #19755] Module#class_eval and Binding#eval use caller location by default (byroot)
- Code that use
eval
or class_eval
without providing a filename
is very hard to track down.
- Defaulting to something like
"(eval in #{caller_locations(1, 1).first.path})"
would be way better than the current situation.
- [Feature #19351] Promote bundled gems at Ruby 3.3
- Share the current status of this.
- How show deprecate message of this feature? It's hard to detect dependency of Gemfile in
require
.
- [Feature #19630] Deprecate
Kernel.open("|command-here")
due to frequent security issues
- Even experienced developers can forget about the
|
feature, leading to potential security issues.
- Proposal is to deprecate
Kernel.open
pipe commands in 3.3, and plan removal in Ruby 4.
- Should we also deprecate pipe commands in IO methods that support them? (
IO.binread
, foreach
, readlines
, read
, write
)
- Description updated (diff)
- Status changed from Open to Closed
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0