ruby-trunk-changes 2021-04-24

今日は refinements と特異メソッドの可視性変更関連の追加不具合修正などがありました。

[71ee05c936] Yusuke Endoh 2021-04-23 13:11:01 UTC

50c54d40a81bb2a4794a6be5f1861152900b4fed で追加した多重代入のテストで未使用の変数の警告が出ていたので変数名に "_" の prefix をつけて警告を抑制しています。

[7de7d096e7] romainsalles 2021-04-23 12:25:42 UTC

Hash#fetch の rdoc 用コメントに要素がない時に第2引数を渡さない時に nil を返すというサンプルがあったけど実際には例外が発生するので記述を削除しています。

[cb78aaeded] git 2021-04-23 16:25:24 UTC

version.h の日付更新

[4b36a597f4] Jeremy Evans 2021-04-05 23:01:46 UTC

58660e943488778563b9e41005a601e9660ce21f の refinements とModule#public_class_method や private_class_method などのメソッドの可視性を変更するメソッドの組合せの不具合修正の追加修正。refine してる Module が複数あった時に修正しきれてなかったみたいです。 [ruby-core:101981] [Bug #17519]

[a224ce8150] Alan Wu 2021-04-23 23:37:03 UTC

メソッド呼び出し時の引数処理する vm_callee_setup_arg() で通常引数の最後の空 Hash を削る CALLER_REMOVE_EMPTY_KW_SPLAT() の呼び出しを削除しています。削った箇所は条件分岐で既に呼び元に keyword splat がない場合とわかっているので不要ということみたいです。
が、後で a224ce8150f2bc687cf79eb415c931d87a4cd247 で revert されています。

[1f2b5c6dfe] Jeremy Evans 2021-04-23 23:43:00 UTC

通常引数の最後の空 Hash を削る CALLER_REMOVE_EMPTY_KW_SPLAT() のコメントで 2.7 の時点で互換性のために空 Hash を戻す方法について書かれてる部分がもう古いということで削られています。

[dee58d7ae7] Alan Wu 2021-04-24 02:17:20 UTC

a224ce8150f2bc687cf79eb415c931d87a4cd247vm_callee_setup_arg() の CALLER_REMOVE_EMPTY_KW_SPLAT() の呼び出しを削ったのはやっぱりまずかったみたいで、テストを追加しつつ revert しています。メソッドを ruby2_keywords で修飾した時には必要だったとのこと。 https://github.com/ruby/ruby/pull/4405