Misc #18977
closed
Added by mame (Yusuke Endoh) about 2 years ago.
Updated about 2 years ago.
Description
The next dev meeting¶
Date: 2022/09/22 13:00-17:00 (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-09-22.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 2022/09/19. 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 #18784]
FileUtils.rm_f
and FileUtils.rm_rf
should not mask exceptions (mame)
- I changed FileUtils.rm_f/rm_rf so that it raises a SystemCallError but Errno::ENOENT.
- But it seemed to affect mkmf on Windows. mkmf uses rm_f to delete conftest.exe, but sometime it fails. I don't know why it happens.
- I concern that this change will make users just ignore exceptions of FileUtils.rm_rf by wrapping
begin .. rescue SystemCallError; end
.
- This is not what I wanted. Should we revert the change of FileUtils?
- [Feature #18982] Add an
exception: false
argument for Queue#push, Queue#pop, SizedQueue#push and SizedQueue#pop (byroot)
- The existing exceptions (ThreadError) are a bit awkward to deal with.
- Queue is often used deep into the stack where exceptions in common cases are fairly costly.
- [Feature #18951]
Object#with
to set and restore attributes around a block (byroot)
- Works with any public accessor, e.g.
GC.with(stress: true) { do_something }
- This is an extremely common pattern, especially in test suites, but is often implemented with subtle bugs.
- [Feature #11689] Add methods allow us to get visibility from Method and UnboundMethod object. (eregon)
- I think we should re-add (undo revert) {Method,UnboundMethod}#{public?,private?,protected?} on master, see https://bugs.ruby-lang.org/issues/11689#note-27
- Both #18729 and #18751 are fixed, and now Method == method entry, and visibility is an attribute of method entry.
- Ruby 3.1 already has those method and the fix for #18729 and #18751 was backported to 3.1. So if we keep them removed for 3.2 we cause incompatibility and there is no practical issue with those methods anymore.
- [Feature #18996] Proposal: Introduce new APIs to reline for changing dialog UI colours (st0012)
-
irb
's autocompletion background can make texts hard to read for some users.
- Because the colours are hardcoded in
reline
, users aren't able to change them. So many users need to disable the feature altogether.
- The APIs proposed in the ticket actually have been implemented by @pocari and me.
- Since the maintainer @aycabta (aycabta .) is not available now, I hope we can decide if the APIs still need any improvement or they are ready for release.
- [Feature #19010] Follow up of #18996: Support changing irb's autocompletion background (st0012)
- If the above or similar
reline
APIs are introduced, I want to support dark
/bright
themes in irb
(screenshots are included in the ticket)
- The default will be
dark
theme. I don't want to add more themes for now. So it can be toggled to bright
theme with a boolean config.
- To customize more,
irb
can take and pass per-color configurations to reline
too.
- [Feature #18798]
UnboundMethod#==
with inherited classes (eregon)
- OK to change
UnboundMethod#==
to check if same method definition (and ignore from which class instance_method
was used on)? If yes, what about UnboundMethod#eql?
?
- If not, OK to add
{Method,UnboundMethod}#same_definition?(other)
?
- [Bug #18960] Module#using raises RuntimeError when called at toplevel from wrapped script (jeremyevans0)
- Do we want to support this? I think since #using is permitted at top level and inside a module, we should.
- [Bug #18919] Ractor: can't share #Method objects (jeremyevans0)
- Is this a bug? Ractor cannot share most objects, but some procs are sharable.
- If not a bug, should it be switched to feature request?
- [Bug #18878] parse.y: Foo::Bar {} is inconsistently rejected (jeremyevans0)
- This is currently invalid syntax, should we try to support it?
- If so, do we consider this a bug or a feature request?
- I tried to support it a couple weeks ago, but all my attempts ended in reduce/reduce conflicts.
- [Bug #18960] Module#using raises RuntimeError when called at toplevel from wrapped script (shioyama)
- @jeremyevans0 (Jeremy Evans) mentioned this, but I think this is a bug based on common reading of the wrap argument to load.
- See also context for this in my next bullet point.
- [Feature #10320] require into module (shioyama)
- [Bug #18978] Unexpected behaviour in Time.utc and Time.local when 8 arguments are passed in (peterzhu2118)
- Passing 8 arguments causes both the 7th (microseconds) and 8th arguments to be ignored.
- The behaviour is undocumented, so it is inconsistent between various Ruby implementations.
- Proposed fix raises an ArgumentError when 8 arguments are passed in (this is the behaviour when 9 arguments are passed in).
- Proposed PR: https://github.com/ruby/ruby/pull/6281
- [Feature #18885] End of boot advisory API (byroot)
- The general concept was accepted, but it need a proper name.
- Suggestions:
-
Kernel.booted
/ Kernel.application_booted
/ Kernel.code_loaded
/ Kernel.startup_done
-
ObjectSpace.loaded
/ ObjectSpace.optimize
- The suggestions try to describe an "event" or point in time, more than which optimizations are being performed.
- This is because the actual optimizations might change over time or be different on other implementations.
- I'd like to implement the constant cache pre-warming soon, so having an accepted name for it would be very helpful.
- [Feature #18776] Object shapes as new caching system
- YARV interpreter benchmarks are similar speed or faster
- Memory increase is low
- Opens door for more optimizations
- [Feature #19008] Introduce coverage support for
eval
.
- Working implementation.
- Can introduce some challenges for existing code - same challenges as debug gem - accurate line information for
eval
must be given.
- Useful for computing template coverage.
- [Feature #18411] Introduce
Fiber.blocking
for disabling the scheduler (efficiently).
- Useful for writing pure Ruby schedulers.
- [Feature #18455]
IO#close
has poor performance and difficult to understand semantics.
- We need to fix implementation of
IO#close
which is O(number of blocking operations).
- We need to hide implementation of
struct rb_io_t
because the internal implementation details are leaking into public interface (e.g. ccan_list
).
- [Feature #18630] Introduce general
IO#timeout
and IO#timeout=
for blocking operations.
- We can now support generally blocking and internally non-blocking operations (i.e. fiber scheduler).
- Safer network I/O.
- [Bug #18886] Struct aref and aset don't trigger any tracepoints.
- Do we care enough to fix this issue or is the performance cost too high?
- [Feature #19013] Error Tolerant Parser
- I want to get feedback for the direction and other use cases.
We could not discuss all agenda items in time. We will have an extra meeting at 6th Oct.
-
[Feature #19022] Use __builtin_ppc_get_timebase on POWER with clang (pkubaj)
- A simple change that allows run performance improvement
-
[Feature #19023] Enable riscv64 coroutines on riscv64-freebsd, arm32 on arm*-freebsd and ppc on powerpc-freebsd (pkubaj)
- [Bug #19016] syntax_suggest is not working with Ruby 3.2.0-preview2
- Status changed from Open to Closed
- Description updated (diff)
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0