Actions
Misc #20574
closedDevMeeting-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) 6 months ago
- Related to Misc #14770: [META] DevelopersMeeting added
Updated by tompng (tomoya ishida) 5 months 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) 5 months 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) 5 months ago
- [Bug #20593]
Kernel#format
emits atoo many arguments for format string
warning when called with a single hash and no key is used-
format
emits 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) 5 months 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.y
andprism
) - Do we still want to go ahead with this feature?
Updated by andrykonchin (Andrew Konchin) 5 months ago
- [Bug #20606]
Thread#thread_variable_get
andThread#thread_variable?
don't raiseTypeError
exception 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 akey
that 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 returnnil
orfalse
correspondingly) 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) 5 months 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) 5 months ago
- [Feature #20610] Float::INFINITY as IO.select timeout argument (akr)
- Float::INFINITY is useful for timeout computation.
Updated by eightbitraptor (Matt V-H) 5 months 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
gc
directory, 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
config
for the reasons outlined here
Updated by byroot (Jean Boussier) 5 months 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
BINARY
buffer and assemble someUTF-8
strings in it. - In such cases
Encoding::ASCII_8BIT
is very inconvenient as it will do encoding negociation. - I propose a
String#byteconcat
method 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) 5 months 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.config
method. - Documentation and signature at https://github.com/ruby/ruby/pull/10598/files#diff-62dbc1900bf29e12485f716fc592fc4bebbcd595b921787b6af9b66d5e4a5de7R256-R278
Updated by yui-knk (Kaneko Yuichiro) 5 months ago
- [Feature #20624] Enhance
RubyVM::AbstractSyntaxTree::Node#locations
method andRubyVM::AbstractSyntaxTree::Location
class (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) 4 months ago
- Description updated (diff)
- Status changed from Open to Closed
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0