以下の内容はhttps://ruby-trunk-changes.hatenablog.com/entry/ruby_trunk_changes_20250415より取得しました。


ruby-trunk-changes 2025-04-15

今日は ObjectSpace._id2ref のために必要なテーブルの更新を必要になるまで遅延する最適化や IO.select の timeout に Float::INFINITY を受け付ける変更などがありました。

[1c8154e5c9] ydah 2025-04-14 13:05:08 UTC

parse.y のメソッド呼び出しのための "." と "::" のアクションを別々に書いてたのを call_op2 ルールを利用してまとめるリファクタリング

[b68172caad] ydah 2025-04-14 13:12:45 UTC

parse.y の user defined rule の f_optarg() を f_opt_arg() と一貫性のため改名しています。

[0606046c1a] Jean Boussier 2025-04-10 09:53:39 UTC

構造体 rb_objspace_t のメンバー id_to_obj_tbl の内容が必要になるまでは st_table を確保せず NULL をセットしておくようにして確保を遅延するようにしています。これを使うのは ObjectSpace._id2ref が呼ばれる時だけなのでめったに必要になることがないとのこと。必要になったらその瞬間に rb_gc_vm_lock()/rb_gc_vm_unlock() で VM 全体のロック取得してテーブルをその時点で構築するみたいです。この瞬間はけっこう思い処理になりそうですね。ついでに(?) _id_to_ref まわりの例外のメッセージの英文を修正しています。

[e1f544c1cf] Étienne Barrié 2025-04-10 13:26:06 UTC

lldb 用のプラグインの misc/lldb_rb/ で struct RBasic の型を得るためのスクリプトが誤って YJIT 用の yjit::cruby::autogened::RBasic を参照してしまうので "::" をつけてトップレベルの型を取得するようにしています。

[698ef864a5] Tanaka Akira 2025-04-15 06:55:40 UTC

IO.select の timeout の引数に Float::INFINITY を受け付けてタイムアウトなしを指定できるようにしています。 [ruby-core:118467] [Feature #20610]

[72dc16aa65] Luke Gruber 2025-04-02 17:04:49 UTC

bootstraptest の Ractor のテストにインスタンス変数をもつオブジェクトなどの Ractor 間の移動のサポートのテストを追加しています。

[00389b664b] David Rodríguez 2025-04-12 13:53:13 UTC

bundler で誤った警告メッセージが出ることがある不具合の修正。

[3cb573ee55] David Rodríguez 2025-04-12 14:01:27 UTC

bundler で条件にあう gem のバージョンをチェックする条件の一部を paltform のみチェックするよう修正しています。

[0ad7cf17a0] David Rodríguez 2025-04-12 18:00:54 UTC

3cb573ee55f3d3af03f3a232ba442bd949277f17 からの続きで bundler のコメントを修正しています。

[c910e85b02] David Rodríguez 2025-04-12 16:04:14 UTC

3cb573ee55f3d3af03f3a232ba442bd949277f17 からの一連の変更の続きで該当部分の処理をメソッドに切り出しています。

[1b18810ed9] David Rodríguez 2025-04-12 17:43:52 UTC

bundler の Bundler::Definition#resolution_packages を #resolution_base と改名しています。

[1929e73a36] David Rodríguez 2025-04-12 17:45:01 UTC

bundler で bundle lock --add-platform サブコマンドで platform の指定が条件を満たせない時? の例外を発生させるようにしています。

[b8b4c15695] David Rodríguez 2025-04-12 19:06:34 UTC

bundler の bundle lock サブコマンドの --normalize-platforms オプション指定時に正しい platform 名ないものを削るようにしているようです。

[62b7ae955a] Jean Boussier 2025-04-15 04:34:03 UTC

拡張ライブラリ jsonJSON::NaN と JSON::Infinity の定数に Float のゼロ除算で値を作ってたのを Float::NAN および Float::Infinity 定数を直接参照するようにしています。

[1afc539900] Jean Boussier 2025-04-15 04:35:50 UTC

拡張ライブラリ jsonJSON::JSONError のクラスメソッド JSON::JSONError.wrap というのを削除しています。

[26a9ccbf83] Jean Boussier 2025-04-15 04:43:02 UTC

拡張ライブラリ json で Kernel に追加される j と jj という private メソッドを deprecated にしています。

[77a52787a6] Jean Boussier 2025-04-15 04:43:23 UTC

拡張ライブラリ json の Kernel#JSON() メソッドを JSON.[] メソッドに委譲するようにしています。このメソッド知らなかったな。

[f6fddbd337] "dependabot[bot]" 2025-04-10 14:40:32 UTC

GC の mmtk 実装のための Rust の依存パッケージ crossbeam-channel のバージョンを更新しています。

[28491e53cd] Samuel Williams 2025-04-15 11:15:26 UTC

拡張ライブラリ stringio で rb_io_mode_t 型を利用するようにしています。 https://github.com/ruby/stringio/pull/129




以上の内容はhttps://ruby-trunk-changes.hatenablog.com/entry/ruby_trunk_changes_20250415より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14