ruby-trunk-changes 2024-06-08

今日は主に YJIT の Rust 実装の変更、--parser=prism の警告削除、拡張ライブラリ openssl の更新などがありました。

[547233fb6e] Yusuke Endoh 2024-06-07 12:22:32 UTC

GitHub Actions の macOS 版の workflow で SEGV 時の core ファイルのアップロードの step を削除しています。

[5e1001f754] Tanaka Akira 2024-06-07 12:53:11 UTC

doc/syntax/literals.rdoc の %-記法によるリテラルで改行の前にバックスラッシュを置いてエスケープした場合の挙動について追記しています。 [ruby-core:118142] [Bug #20518]

[0e5640b56f] Yusuke Endoh 2024-06-07 12:26:50 UTC

GC.compact によるオブジェクトの Variable Width Allocation の slot サイズの異なる heap 間の移動についてのテストがタイムアウトすることがあったのでタイムアウト時間を伸ばしています。SIGSEGV を送信した時にとても時間がかかることがあるみたいです。

[40ec860de7] Kevin Newton 2024-05-20 17:50:03 UTC

標準添付ライブラリ error_highlight で AST から位置情報を取り出す処理の prism による AST 対応を追加しています。

[91b86f1b4f] Yusuke Endoh 2024-06-07 13:34:28 UTC

Regexp の timeout の指定が効いていることを確認するテストの判定を緩めています。

[7944710ed4] Yusuke Endoh 2024-06-07 13:39:21 UTC

GC に関するテストのタイムアウトを伸ばしています。

[b9b207f388] Yusuke Endoh 2024-06-07 14:03:49 UTC

通常のファイルではなく FIFO に対して Kernel#load で読み込みをした時の例外処理のテストでタイムアウト時間を伸ばしています。

[36b3fea0ff] Yusuke Endoh 2024-06-07 14:11:10 UTC

Regexp の timeout についてのテストでタイムアウト時間を伸ばしています。

[239378613b] Yusuke Endoh 2024-06-07 14:29:59 UTC

Regexp の memo 化による最適化の効果についてのテストでタイムアウト時間を伸ばしています。

[43cf0f99f9] Yusuke Endoh 2024-06-07 14:44:29 UTC

通常のファイルではなく FIFO からの Kernel#load でプロセスがブロックしてしまわないことのテストでタイムアウトを伸ばしています。

[caac56584c] Peter Zhu 2024-06-07 13:50:17 UTC

GC.compact 関連のテストで子プロセスを停止させるのに SIGSEGV を利用していたのをやめています。本当の異常終了とまぎらわしいため。

[792e9c46a4] Kevin Newton 2024-06-07 14:10:12 UTC

コマンドラインオプションの --parser=prism で experimental カテゴリの警告を出力していたのをやめています。

[faad2bc6e1] git 2024-06-07 19:55:15 UTC

NEWS の default gems のバージョンリストの prism のバージョンを 0.30.0 に更新しています。

[425e630ce7] Maxime Chevalier-Boisvert 2024-06-07 20:26:14 UTC

詳細わかりませんが YJIT の Rust 実装の Context というオブジェクトの実装方法を大きく変更しているようです。 https://github.com/ruby/ruby/pull/10888

[0d91887c6a] Maxime Chevalier-Boisvert 2024-06-07 21:59:59 UTC

YJIT の Rust 実装の Context の cache を導入しているようです。 https://github.com/ruby/ruby/pull/10938

[0619312bb5] Nobuyoshi Nakada 2024-06-07 02:06:53 UTC

拡張ライブラリ digest で新しい ruby でビルドする時は TypedData_Wrap_Struct() を利用するようにしています。

[bf95a17c84] Nobuyoshi Nakada 2024-06-07 15:49:37 UTC

拡張ライブラリ digest の Digest::Base クラスの rdoc 用コメントのサンプルで Data_Wrap_Struct() を利用しているところをバージョン間の差異を吸収した rb_digest_make_metadata() を利用するようにしています。

[18fcec23bf] Nobuyoshi Nakada 2024-06-08 04:20:46 UTC

拡張ライブラリ ripper で token の種類ごとの ID を参照するマクロ ripper_id_xxx() というのを定義するようなヘッダを生成していたのを RIPPER_ID() というトークン名を引数で受け取るマクロとして定義するように変更しています。

[9bee49e0e1] Nobuyoshi Nakada 2024-06-08 04:25:44 UTC

parse.y で $1, $2 のような正規表現のマッチのグループを参照する特殊変数への代入の警告出力の処理を本体と ripper で共有するようにしています。

[7612e45306] Nobuyoshi Nakada 2024-06-08 06:00:18 UTC

parse.y のエラー処理の本体と ripper との共有するため formal_argument_error() という関数を導入しています。この関数の戻り値が VALUE なので parse.y から VALUE をなくそうとしている活動により rb_parser_string_t に変更されそう。

[0b92929e52] Samuel Giddins 2024-04-30 20:09:05 UTC

拡張ライブラリ openssl に OpenSSL::X509::Certificate#tbs_bytes という i2d_re_X509_tbs() という関数を wrap するメソッドを新規追加しています。 https://github.com/ruby/openssl/issues/519

[5f380dfdb2] Kazuki Yamaguchi 2024-05-01 07:58:52 UTC

拡張ライブラリ openssl の gemspec ファイルの spec.license を spec.licenses に変更して "Ruby" と "BSD-2-Clause" の dual license にしています。

[6475b093fb] Kazuki Yamaguchi 2024-05-01 08:07:00 UTC

拡張ライブラリ openssl の gemspec ファイルの spec.files の LICENSE.txt を COPYING に修正しています。upstream では実際のファイルの改名もしているみたいですが ruby 本体のほうには含まれていません。

[69c0b1438a] Kazuki Yamaguchi 2024-05-01 08:10:44 UTC

拡張ライブラリ openssl のファイル群のヘッダコメントでのライセンスファイルの参照も LICENCE から COPYING に変更しています。