ruby-trunk-changes 2019-12-19

今日は先日追加された Warning.[]= メソッドで :deprecated カテゴリの警告抑制の指定が実際に効くようにする変更などがありました。便利。

[1e88f6eb95] Aaron Patterson 2019-12-18 01:26:11 UTC

gc.c の heap_add_freepage() から不要な引数 objspace を削除し、heap->freelist に追加する時に常にこの関数を利用するようにして、この中で追加しようとしている page に空き slot がない場合を弾くための GC_ASSERT() を追加しています。ちょっと前にも関連する修正をしていた気がしますが(おそらく GC.compact の影響で) freelist に追加しようとしているのに実際には空きがない page が入ってしまうのを検出するためのようです。まだ CI で起きてるみたいですね。

[e732e0074e] git 2019-12-18 17:08:51 UTC

version.h の日付更新

[76035e5bb6] Nobuyoshi Nakada 2019-12-16 09:19:01 UTC

vm_args.c のコーディングスタイルの修正。

[9bf9de3d9d] Nobuyoshi Nakada 2019-12-17 05:52:15 UTC

6183addf6a4b94db7fe5b9187ac66fa11c8d2825 で追加した Warning.[] および Warning.[]= で設定できるカテゴリ毎の警告の抑制機能の :deprecated カテゴリで deprecated と宣言した定数の参照時の警告が抑制できるように対応しています。

[7aa8a78674] Nobuyoshi Nakada 2019-12-17 08:16:12 UTC

同じく Warning.[]= の :deprecated カテゴリでキーワード引数についての警告も抑制できるようにしています。あれは deprecation なのか。

[c6c67254fb] Nobuyoshi Nakada 2019-12-17 08:17:07 UTC

カテゴリ毎の警告抑制チェックつきの rb_warn_deprecated() という関数を導入してその他にも deprecated の警告を出力していたところを rb_warn() からこの関数を利用するようにして一括で抑制できるようにしています。