Actions
Misc #18977
closedDevMeeting-2022-09-22
Status:
Closed
Assignee:
-
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.
Updated by mame (Yusuke Endoh) over 2 years ago
- Related to Misc #14770: [META] DevelopersMeeting added
Updated by mame (Yusuke Endoh) over 2 years ago
- [Feature #18784]
FileUtils.rm_f
andFileUtils.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?
Updated by byroot (Jean Boussier) over 2 years ago
- [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.
- Works with any public accessor, e.g.
Updated by Eregon (Benoit Daloze) over 2 years ago
- [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.
Updated by st0012 (Stan Lo) over 2 years ago
- [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 supportdark
/bright
themes inirb
(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 tobright
theme with a boolean config. - To customize more,
irb
can take and pass per-color configurations toreline
too.
- If the above or similar
Updated by Eregon (Benoit Daloze) over 2 years ago
- [Feature #18798]
UnboundMethod#==
with inherited classes (eregon)- OK to change
UnboundMethod#==
to check if same method definition (and ignore from which classinstance_method
was used on)? If yes, what aboutUnboundMethod#eql?
? - If not, OK to add
{Method,UnboundMethod}#same_definition?(other)
?
- OK to change
Updated by jeremyevans0 (Jeremy Evans) over 2 years ago
- [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.
Updated by shioyama (Chris Salzberg) over 2 years ago
- [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)
- Proof of concept implementing imports like CommonJS etc using some patches to extend top_wrapper: https://bugs.ruby-lang.org/issues/10320#note-13
- Key point is that I want to support existing code, including gems, with no changes.
- POC gem: https://github.com/shioyama/im, requires patched Ruby
- This is just for discussion of feasibility/approach.
Updated by peterzhu2118 (Peter Zhu) over 2 years ago
- [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
Updated by byroot (Jean Boussier) over 2 years ago
- [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.
Updated by tenderlovemaking (Aaron Patterson) over 2 years ago
- [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
Updated by ioquatix (Samuel Williams) over 2 years ago
- [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
).
- We need to fix implementation of
- [Feature #18630] Introduce general
IO#timeout
andIO#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?
Updated by yui-knk (Kaneko Yuichiro) over 2 years ago
- [Feature #19013] Error Tolerant Parser
- I want to get feedback for the direction and other use cases.
Updated by mame (Yusuke Endoh) about 2 years ago
We could not discuss all agenda items in time. We will have an extra meeting at 6th Oct.
Updated by pkubaj (Piotr Kubaj) about 2 years ago
Updated by hsbt (Hiroshi SHIBATA) about 2 years ago
- [Bug #19016] syntax_suggest is not working with Ruby 3.2.0-preview2
- What's blocker now?
Updated by mame (Yusuke Endoh) about 2 years ago
- Status changed from Open to Closed
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0