ruby-trunk-changes 2020-01-04

今日は Object#clone の freeze キーワード引数をそこから呼ばれる initialize_copy メソッドにも渡すようにする変更などがありました。

[0eeed5bcc5] Jeremy Evans 2019-07-30 23:15:19 UTC

r61483 (3802fb92ff8c83eed3e867db20f72c53932f542d) というだいぶ前の変更で eval 内で __FILE__ と __LINE__ が使われたら警告を発するようにしていたのをやめています。 [ruby-core:35027] [Bug #4352]

[04eb7c7e46] Jeremy Evans 2019-08-26 04:11:46 UTC

Object#clone のキーワード引数 freeze (r55786、320ae01c5fb091eab0926c186f304a9caeda1ace で追加された引数でこれに false を指定すると元のオブジェクトが freeze されていても freeze されてない状態のコピーを作る) が新規作成されたオブジェクトに呼ばれる initialize_copy のキーワード引数 freeze にも渡されるようにしています。ライブラリで initialize_copy を再定義して状態のコピーを自分で実装している時に freeze の指定を考慮できるようにしています。ただし initialize_copy が freeze キーワード引数がないようなメソッド定義がされているオブジェクトに対して clone(freeze: false) を指定すると無視するのではなく ArgumentError 例外が発生するようにしています。 [ruby-core:84581] [Bug #14266]

[b594005c72] git 2020-01-04 04:13:37 UTC

version.h の日付更新