ruby-trunk-changes 2022-06-28

今日は主に標準添付ライブラリ reline, rdoc, bundler などの修正/機能追加などがありました。

[b6b9a6190d] Nobuyoshi Nakada 2022-06-27 04:17:36 UTC

macOS で nano second の精度でのファイルのタイムスタンプを得るシステムコール utimensat(2) が利用できるかどうかをチェックする条件分岐を追加しています。

[8c6c3e30f3] pocari 2022-06-27 13:28:34 UTC

標準添付ライブラリ reline の dialog 表示の色付けを設定で変更できるように拡張しています。 https://github.com/ruby/reline/pull/413

[f9f85a513b] David Rodríguez 2022-06-25 19:40:34 UTC

bundler で BundlerError 例外の処理時に Bundler.ui.trace と Bundler.ui.error でエラーメッセージを二重に出力していたところがあったので、debug 出力の有無で分岐してどちらか一方だけで出力するように修正しています。

[0fab06f3c3] "Noah Gibbs (and/or Benchmark CI)" 2022-06-13 15:17:06 UTC

YJIT のコード生成部分の実装で Rust に取り込んだ VALUE の型の情報の Type::String を Type::CString と Type::TString に分けています。コメントによると CString は String クラスのインスタンスで、TString は T_STRING 型のオブジェクト(つまり String を継承した子クラスのインスタンスの場合も含むということかな)の場合に使うというふうに使い分けるようにしています。これにより CString の時の一部のメソッド呼び出しを最適化したりするための区別かなと思います。

[5da31b62b0] "Noah Gibbs (and/or Benchmark CI)" 2022-06-13 13:53:09 UTC

bootstraptest/test_yjit.rb でおそらく 0fab06f3c33999d7366036440dbc7ce6d16ac792 の変更に対応した処理が通るようにテストを追加/変更しています。

[aba804ef91] git 2022-06-27 16:26:32 UTC

version.h の日付更新

[51be2cf6d2] Nobuyoshi Nakada 2022-06-28 05:29:12 UTC

標準添付ライブラリ rdoc で C のソースコードを解析する時に Init_xxx() 関数と同様に InitVM_xxx() 関数もメソッド定義を検出する箇所として対応するようにしています。

[98bf8c83fa] Nobuyoshi Nakada 2022-06-28 06:40:32 UTC

標準添付ライブラリ rdoc で 3.1 から追加された Refinement クラスを RDoc::KNOWN_CLASS という定数に追加しています。

[131422ceea] Nobuyoshi Nakada 2022-06-28 10:40:27 UTC

標準添付ライブラリ rdoc で C のソースコードを解析する時に rb_struct_define() を使ってクラス定義されている時に引数に渡されている attribute のメソッド検出にも対応するように拡張しています。