Date: 2019/03/11 (Mon)
Time: 13:00-17:00 (JST)
Place: MoneyForward.com (Tokyo, Japan)
About 2.7 timeframe
- 2.6.2 after Unicode 12.0 (Mar.)?
- 2.6.3 (Apr)
- waiting introducing `@1`. maybe at RubyKaigi
Check security tickets (confidencial)
Carry-over from previous meeting(s)
- [Feature #14609] Kernel#p without args shows the receiver (aycabta)
- the name of the method is not determined yet.
Handling issues on Developer Meeting Ticket
- Don’t copy commented issues to description to avoid missing comments
- [Feature #14799] Startless range
- mame: I’ve forgotten to commit. just a moment.
- [Bug #15620] Block argument usage affects lambda semantic
- [Misc #15617] Release 2.5.4? (blowmage)
- usa: nagachika-san is planning to release in this month.
- [Feature #15323] Proposal: Add Enumerable#filter_map
- naruse: Sequel uses `select_filter` as another meaning
- usa: also need `select_map` as alias?
- matz: so, `select_collect`? :)
- mame: is lazy not enough?
- mame: if this method is accepted, other methods with map will be also requested.
- matz: filter_map is not simply combination of filter and map. so mame’s concern is needless fears.
- matz: ok, accepted `filter_map`.
- [Feature #14145] Proposal: Better Method#inspect
- ko1: I’m against to show the name of parameters. we only need line no. doesn’t it?
- matz: ask the original author.
- ko1: I’ll ask.
- ko1: BTW, how do you think about this opinion?
- all: hmm…
- naruse: isn’t it good showing both parameters and line no?
- ko1: isn’t it too long?
- naruse: path name is already long.
- ko1: ah, may be so. but source location is useful than parameters.
- [Feature #15653] Proposal: Add Time#floor
- naruse: isn’t it `trunc`? see SQL.
- akr: truncate means rounding to zero. conceptually, zero is the first time, but we often assume the zero time as UNIX epoch.
- naruse: I see.
- mrkn, knu: There’s a typical use case in test code in Rails. Sub-second fragment often gets lost through serialization/deserialization for DB and we often do Time.at(time.to_i) in test code as a workaround.
- matz: ok, accepted.
- [Misc #15615] File.birthtimeがLinux環境で有効なファイル作成時刻を得られなかった場合の挙動について
- should raises `NotImplementedError` both `File.birthtime` and `File::Stat#birthtime` if birthtime is not available.
- akr: `respond_to?` should always return `true`.
- akr: we also have to implement `birthtime` to `Pathname`, don’t it?
- usa: yes
- [Feature #15195] How to deal with new Japanese era
- martin: just a reminder.
- naruse: I’m planning to release 2.6.2 sooner. and 2.6.3 will be released at Apr.
- martin: ok
- [Bug #15598] Deadlock on mutual reference of autoloaded constants
- [Bug #15599] Mixing autoload and require causes deadlock and incomplete definition.
- akr: IMO, these are bugs. I propose that autoload should use one global lock instead of locks per constants.
- [Feature #15618] Implement Enumerator::Yielder#to_proc
- [Feature #15553] Addrinfo.getaddrinfo supports timeout
- akr: this implementation is not acceptable, but the feature is ok.
- glass_saga: I see. BTW, is using Resolv acceptable?
- akr: yes.
- Even if it doesn’t support getaddrinfo with timeout (non glibc), it should ignore because we want to use the same code on macOS and Linux.
- [Bug #15652] Profiler__ is not working correctly (ruby 2.6)
- [Feature #15626] Manual Compaction for MRI’s GC (`GC.compact`)
- matz: current status?
- ko1: I think this is mergeable. But one incompatibility exists. if an C extension keeps pointers without mark (expecting to mark via Ruby code), GC cannot change the pointers.
- shyouhei: for debugging, set moved pointer as reserved and causes SEGV if the reserved pointer is accessed.
- matz: ok, go ahead