ruby-trunk-changes 2019-12-21

今日は -W:deprecated/-W:no-deprecated や -W:experimental/-W:no-experimental といったコマンドラインオプションでカテゴリ毎に警告の有効/抑制ができるようにする変更などがありました。

[1fea3a7636] Yusuke Endoh 2019-12-20 12:37:46 UTC

NEWS ファイルに後置 in による pattern match の例が書かれてなかったので追加しています。またマッチしなかった時に NoMatchingPatternError が発生する例も追加しています。

[6876aa38f6] Nobuyoshi Nakada 2019-12-20 13:50:46 UTC

コマンドラインオプションの --enable=/--disable= で指定する features のビットフラグを指定した内容にセットする処理を FEATURE_SET_RESTORE() というマクロにしています。

[a84ad24386] Nobuyoshi Nakada 2019-12-20 14:05:22 UTC

コマンドラインオプション -W:deprecated と -W:no-deprecated で Warning[:depcateted] への設定と同様の指定ができるようにしています。 6876aa38f607cdd6fb24910e54143d9110d025c9 で追加した FEATURE_SET_RESTORE() を利用しています。 [ruby-core:95808] [Feature #16345]

[dd7f0c87c9] Nobuyoshi Nakada 2019-12-20 14:36:19 UTC

parse.y の pattern match の記法に対する警告メッセージを出力しつつ NODE を作る処理を new_case3() という関数に切り出しています。そういえば pattern match を使った時の警告ってこのままでリリースするのかな?

[07e595fdbd] Nobuyoshi Nakada 2019-12-20 14:48:15 UTC

Warning.[]= で指定できるカテゴリとして :experimental というのも追加して、pattern match の警告をこのカテゴリで制御できるようにしています。 なるほど、これで抑制するようにするのか。 [ruby-core:96233] [Feature #16420]

[484c1be895] Nobuyoshi Nakada 2019-12-20 14:51:17 UTC

Warning.[]= の :experimental カテゴリも -W:experimental や -W:no-experimental といったコマンドラインオプションで同等の指定ができるようにしています。 [ruby-core:96233] [Feature #16420]

[63ce77929a] git 2019-12-20 15:07:13 UTC

version.h の日付更新

[9eded02446] Jeremy Evans 2019-12-20 18:47:56 UTC

NEWS ファイルに Array#minmax と Range#minmax メソッドの追加、Proc#ruby2_keywordsメソッドの追加について追記しています。

[ea405ee8ed] Yusuke Endoh 2019-12-21 01:06:14 UTC

pattern match のテストで未使用変数の警告除去のために通らないパスでその変数を参照したり、assertion を追加したりしています。