ruby-trunk-changes 2020-12-13

今日は 1行パターンマッチの右代入のような用法で experimental 警告が出ないようにする変更や、1行パターンマッチに予約語 in を使う記法の復活などがありました。

[248f1ef282] Yusuke Endoh 2020-12-12 14:09:11 UTC

tool/mk_builtin_loader.rb の未使用変数の警告除去のため利用しない変数の先頭にアンダースコアを付けたり不要な代入を削ったりしています。

[efbef729b2] Yusuke Endoh 2020-12-12 14:11:47 UTC

test/ruby/test_lambda.rb の Kernel#lambda に is_lambda じゃない Proc オブジェクトを渡す警告を抑制するため一時的に Warning[:deprecated] を false にセットするようにしています。

[7ef5226520] Yusuke Endoh 2020-12-12 14:25:15 UTC

rubyspec でも Kernel#lambda の警告を抑制するため suppress_warning を追加しています。

[3b7c05ef8d] Nobuyoshi Nakada 2020-12-12 16:10:49 UTC

tool/m4/ruby_rm_recursive.m4 の m4_version_prereq() というコマンドを使ってるところで行末に dnl によるコメントを追加しています。これはどういう意味があるんだろう(追記: 生成した configure に余計な改行を入れないようにするためとのことでした https://twitter.com/n0kada/status/1338096143037726721)。 また m4_version_prereq() の第2引数を -1 から空文字列に変更しています。m4_version_compare() からの変換で誤ってそのまま残されてたみたいです。

[92dfe9aefb] git 2020-12-12 16:30:32 UTC

version.h の日付更新

[246d7e4f1d] Takashi Kokubun 2020-12-13 02:46:13 UTC

make test および make test-all で core ファイルが残ってた時に一時ディレクトリに改名して残しておくようにしてましたが、ついでに gdb が使えたら使ってバックトレースを表示させるようにしています。 CI で発生した時のためかな。

[1b45174aea] Takashi Kokubun 2020-12-13 02:47:48 UTC

GitHub Actions の MJIT 用テストの workflow で ulimit -c を実行して core ファイルのサイズの制限を解除するようにしています。

[a8cf526ae9] Kazuki Tsujimoto 2020-12-13 02:47:02 UTC

一行パターンマッチは EXPERIMENTAL な機能としてまだ警告が出る状態でしたが右代入のように単一の変数へ結果を格納するパターンの時は警告しないようにしています。

[88f3ce12d3] Kazuki Tsujimoto 2020-12-13 02:50:14 UTC

一行パターンマッチに予約語 in を使った記法を復活させています。 NEWS にも追記がありますが(削除前からそうでしたが)マッチしない時に例外を発生させるかわりに false を返すようにしています。 [ruby-core:101262] [Feature #17371]

[97e6c28db4] Nobuyoshi Nakada 2020-12-13 02:34:57 UTC

マクロ RB_OBJ_WRITE() の定義で UNALIGNED_MEMBER_ACCESS() で align されてないメモリアクセスの警告抑制するのを関数呼び出し全体にかけてたのを引数の slot のキャストする部分にだけつけるようにしています。clang 11 でマクロの評価値が利用されていないと未使用の変数の警告が出てしまうため関数全体につけるとその結果が使われてない場合があるためだそうです。

[416e402cf3] Nobuyoshi Nakada 2020-12-13 04:12:18 UTC

ractor.c の ractor_select() で rb_ractor_t::sync::wait::wakeup_status への代入と間違えて比較演算子になってたところを修正しています。

[c7530f0d56] Nobuyoshi Nakada 2020-12-13 04:39:57 UTC

標準添付ライブラリ net/smtp のテストや test/ruby/test_thread.rb でテスト用に起動する Thread の後始末で停止を待つように Thread#join の呼び出しを追加しています。

[a3adb10aac] Junichi Ito 2020-12-13 08:15:34 UTC

NEWS に標準添付ライブラリ open-uri が Kernel#open を再定義しなくなったことを追記しています。そういえばそうだった。 [Misc #15893]

[12eb5734b3] Nobuyoshi Nakada 2020-12-13 10:26:47 UTC

a3adb10aacb48efe0ecb059f012969dc08145360 で NEWS に追記したチケット参照のための footnote の位置をチケット番号の順番に入れ替えています。

[6e84af2fa9] Kazuhiro NISHIYAMA 2020-12-13 11:26:22 UTC

1b45174aeaad4ab0e14b37f70d60a1d43ae21adcGitHub Actions の MJIT 用テストのために ulimit -c の実行をしてましたが、この設定は shell 毎なので単発のコマンドとして実行しても効果がないので対象となる make test, make test-all, make test-spec の直前でそれぞれ実行するように書きかえています。