Project

General

Profile

Actions

Misc #18977

closed

DevMeeting-2022-09-22

Added by mame (Yusuke Endoh) almost 3 years ago. Updated over 2 years ago.

Status:
Closed
Assignee:
-
[ruby-core:109689]

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 open0 closed)

Related to Ruby - Misc #14770: [META] DevelopersMeetingOpenActions
Actions #1

Updated by mame (Yusuke Endoh) almost 3 years ago

  • Related to Misc #14770: [META] DevelopersMeeting added

Updated by mame (Yusuke Endoh) almost 3 years ago

  • [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?

Updated by byroot (Jean Boussier) almost 3 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.

Updated by Eregon (Benoit Daloze) over 2 years ago

  • [Feature #11689] Add methods allow us to get visibility from Method and UnboundMethod object. (eregon)

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 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.

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 class instance_method was used on)? If yes, what about UnboundMethod#eql??
    • If not, OK to add {Method,UnboundMethod}#same_definition?(other)?

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

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).
  • [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?

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) over 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) over 2 years ago

  • [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)

    • Passes make test

Updated by hsbt (Hiroshi SHIBATA) over 2 years ago

  • [Bug #19016] syntax_suggest is not working with Ruby 3.2.0-preview2
    • What's blocker now?
Actions #17

Updated by mame (Yusuke Endoh) over 2 years ago

  • Status changed from Open to Closed
Actions #18

Updated by mame (Yusuke Endoh) over 2 years ago

  • Description updated (diff)
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0