Misc #15874



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



Please comment your favorite ticket numbers you want to ask to discuss with your SHORT comment or summary.
(your summary/comment will help us because we don't need to read all of ticket comments)

DO NOT discuss then on this ticket, please.

Date: 2019/06/13 (Thu)
Time: 14:00-17:30 (JST)
Place and Sign-up:


  • 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 log about discussion to a 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 is scheduled according to when/where we can reserve Matz's time.


Next dev-meeting

About 2.7 timeframe

Check security tickets

Carry-over from previous meeting(s)


From Attendees

From non-attendees

Please comment your favorite ticket we need to discuss with the following format.

* [Ticket ref] Ticket title (your name)
  * your comment why you want to put this ticket here if you want to add.

Your comment is very important if you are no attendee because we can not ask why you want to discuss about it.


* [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 about this feature.

We don't guarantee to put tickets in agenda if the comment violate the format (because it is hard to copy&paste).

Related issues 1 (1 open0 closed)

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

Updated by mame (Yusuke Endoh) over 3 years ago

  • Description updated (diff)
Actions #2

Updated by mame (Yusuke Endoh) over 3 years ago

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

Updated by alanwu (Alan Wu) over 3 years ago

  • [Bug #15792] GC can leave strings used as hash keys in a corrupted state / bad fstring + shared string interaction can lead to use-after-free
    • I have a PR for a case of this with String#b that I think we should also fix.
    • Could someone mark the ticket for backporting to all supported versions? It affects all supported versions as wanabe-san showed in the thread.

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

  • [Feature #14111] ArgumentErrorが発生した時メソッドのプロトタイプをメッセージに含む
    Include the method prototype in the message when ArgumentError occurred

  • [Feature #14145] Proposal: Better Method#inspect

  • [Feature #15799] pipeline operator

Updated by sikachu (Prem Sichanugrist) over 3 years ago

  • [Feature #15725] Add Array#reverse_sort, #revert_sort!, #reverse_sort_by, and #reverse_sort_by!
    I would like to propose these methods as the preferred way for developers to create reverse sorted array, which is to call sort(_by).reverse! internally. By introduce these methods, we can discourage user to use them instead of do array.sort.reverse (without bang) or array.sort { |a, b| b <=> a } which would create an unnecessary Array (after `.sort).

Updated by tagomoris (Satoshi TAGOMORI) over 3 years ago

  • [Bug #15733] Inconsistent __FILE__ and Kernel#__dir__

Updated by byroot (Jean Boussier) over 3 years ago

  • [Feature #15777] Module#autoload?(cname, inherit=true)

    • By default autoload? also check in the ancestors chain, such option would be consistent with Module#const_defined? and totally backward compatible.
    • For more context this would be needed in Zeitwerk:
  • [Proposal #15836] Make Module#name and / or Symbol#to_s return their internal fstring.

    • I realize this is unlikely to be accepted because it has a very significant backward compatibility impact, but I'll still make a case for it.
    • It's surprising for both of these method to allocate new strings when intuitively we're accessing some static metadata.
    • These two method are extensively used in metaprogramming code and other DSL, they are responsible for a significant amount of allocations and duplications.
    • Ideally to address the backward compatibility issues, the behavior would only change if frozen_string_literal: true is set, but I'm unsure this is actually possible to implement.

Updated by Eregon (Benoit Daloze) over 3 years ago

  • [Misc #15723] Reconsider numbered parameters.
    • To matz: Could you agree on Jeremy's single-argument patch?

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

  • [Feature #15160] ArgumentError: year too big to marshal

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

  • [Bug #15210] UTF-8 BOM should be removed from String in internal representation

    A method to set the encoding on an IO by BOM?

Updated by Eregon (Benoit Daloze) over 3 years ago

  • [Feature #15903] Move RubyVM.resolve_feature_path to Kernel.resolve_feature_path
    • matz: is it OK to add Kernel.resolve_feature_path (only class method)? I think RubyVM is not a good place for resolve_feature_path which is not MRI-specific. Moving the method is necessary for other Ruby implementations to implement it, and keep the clean separation that RubyVM is only defined on MRI.

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

  • [Bug #15908] Detecting BOM with non-UTF encoding

Updated by (Petr Chalupa) over 3 years ago

  • [Feature #14912] Introduce pattern matching syntax (
    • Could the pattern matching be made available as a first-class citizen to be used as a filter when searching in data structures and to be able to implement Actor receive method
    • Consider contractions log_messages.find in [:error, message] { puts message }
    • Non-symbol matching of Hashes would be very desirable
    • Elaborated in
Actions #14

Updated by mame (Yusuke Endoh) over 3 years ago

  • Description updated (diff)

Updated by jeremyevans0 (Jeremy Evans) over 3 years ago

  • [Feature #15797] Use realpath(3) instead of custom realpath implementation if available (jeremyevans0)
    • Is this OK to commit? It may cause regressions on less common Unix not tested by Travis (e.g. FreeBSD, NetBSD, AIX, Solaris), though we could just fallback to current implementation in that case.
    • Do we want to add workarounds for Mac OS <=10.5 (10.5 was released in October 2007)?

Updated by mame (Yusuke Endoh) over 3 years ago

  • [Feature #15897] it as a default block parameter
    • A keyword it has never been seriously considered because adding a new keyword brings a big incompatibility.
    • However, I'd like to show that it is possible to add it as a keyword with much smaller impact than we thought.

Updated by k0kubun (Takashi Kokubun) over 3 years ago

  • [Feature #15563] #dig that throws an exception if an key doesn't exist
    • Previously Matz said #dig! is a bad name and asked a real-world use case.
    • How about #deep_fetch for the name? See 15563#note-6 for the real-world use case.
      • I often use Ruby for configuration management, and I've seen the real-world use case at least 2 years ago, 5 months ago, and today.
Actions #18

Updated by mame (Yusuke Endoh) over 3 years ago

  • Status changed from Open to Closed

Also available in: Atom PDF