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


ruby-trunk-changes 2025-07-17

今日は prism の不具合修正、ZJIT の変更、拡張ライブラリ socket の TCPSocket.new のキーワード引数 open_timeout の追加などがありました。

[4cf85fe214] Yusuke Endoh 2025-06-13 03:44:08 UTC

prism で "||" や "&&" のような論理演算の演算子のあとに "not true" のように not を書くと parse.y では SyntaxError になるのに通ってしまっていたという不具合を修正しています。なるほどなぁ。これ、経験的に通らないことを知ってはいるのだけど、通ってもよさそうな気もしますよね(SyntaxError になって、いつもあれっ? て思って not に明示的なかっこをつける、というのを何度か繰り返してから not は常に not(expr) みたいに使うように習慣付いてしまっている)。しかし Matz がチケットで明確に parse.y の挙動を支持しているので。 [ruby-core:122086] [Bug #21337]

[4eb0a6cd4d] ydah 2025-07-07 10:06:26 UTC

4cf85fe2140d0522f924ab57c850b2f03b967390 の続きで prism で not のあとにかっこがない時のエラーメッセージを改善しています。[ruby-core:122086] [Bug #21337]

[2250a66aa8] Takashi Kokubun 2025-07-15 20:24:37 UTC

ZJIT の x86_64 環境でのマシンスタックポインタの操作を修正しています。

[8668e4dd07] Takashi Kokubun 2025-07-15 20:24:43 UTC

ZJIT で side-exit する時のマシンスタックポインタの復旧について修正しているようです。

[2591b93593] Stan Lo 2025-07-01 16:10:22 UTC

prism でパターンマッチのパターンを書くところに数値演算の式みたいなのを書くと異常終了してしまう可能性があった不具合を修正しています。

[2796479589] Takashi Kokubun 2025-07-16 17:42:21 UTC

Process::UID.from_name に不正な文字列を渡した時のテストで発生する例外に SystemCallError (実際には Errno::RNOENT みたいです)も許容するようにしています。

[ea81e7b8b7] Takashi Kokubun 2025-07-16 17:46:12 UTC

ZJIT 用の make zjit-test-all ターゲットの時の TESTS 変数に渡すパスの最後の "/" を削っています。 https://github.com/ruby/ruby/pull/13911

[5ee3937a9c] Alan Wu 2025-07-15 21:16:57 UTC

ZJIT の Rust 実装のテストを実行する make zjit-test で cargo のビルドオプションを開発用のもの? を設定するようにしているようです。

[7df8e9e427] Alan Wu 2025-07-15 23:05:04 UTC

ZJIT の arm64 アーキテクチャでの Add/Sub 命令の実装の不具合修正。

[0c26dea5bb] Alan Wu 2025-07-16 00:13:53 UTC

ZJIT の arm64 版のコード生成の不具合修正。

[95521324de] Alan Wu 2025-07-15 23:54:37 UTC

ZJIT の arm64 版の sub 命令の不具合修正。

[ccbbe06a02] Alan Wu 2025-07-16 01:19:47 UTC

5ee3937a9c8f75d07f4919f64decd0b850abefe0 で ZJIT の Rust 実装のテスト用? の Cargo.toml の runtime_checks の設定をコメントアウトして空に戻しています。

[133cf95618] Earlopain 2025-05-19 11:14:59 UTC

prism で "a=>a,*," のような不正なスクリプトを渡すと異常終了してしまう不具合を修正しています。 [ruby-core:122149] [Bug #21345]

[643ca8175c] Stan Lo 2025-07-16 18:16:29 UTC

GitHub Actions の ZJIT 用の workflow で make zjit-test-all の実行に --seed で固定の乱数 seed を渡すようにしています。 https://github.com/ruby/ruby/pull/13912

[343619c93c] Max Bernstein 2025-07-16 19:17:38 UTC

ZJIT の Rust 実装の未使用の関数を削除しています。 https://github.com/ruby/ruby/pull/13913

[900eb04853] Max Bernstein 2025-07-16 19:50:33 UTC

ZJIT の HIR の? 論理右シフト命令の実装の修正。 https://github.com/ruby/ruby/pull/13914

[abc8745fc3] Erik Berlin 2025-07-04 01:23:51 UTC

Hash のサイズが小さい時の配列ベースの実装の時のイテレーションでの不要な要素参照を削っています。

[e64a9e392e] Peter Zhu 2025-07-12 18:50:28 UTC

string.c のヘッダの #include の順番を辞書順に並びかえています。

[d207efecec] Stan Lo 2025-07-16 20:30:09 UTC

ZJIT 利用時にスキップするテストの指定でもう不要になったものを削っています。

[616df508c7] Stan Lo 2025-07-16 20:42:12 UTC

GitHub Actions の reviewer を自動でセットするための workflow で test/.excludes-zjit/ も ZJIT メンバーに assign するようにしています。

[15cf72dade] Max Bernstein 2025-07-16 22:12:19 UTC

ZJIT の組み込みメソッドの脱最適化まわりの修正? https://github.com/ruby/ruby/pull/13916

[571a8d2753] Takashi Kokubun 2025-07-16 22:59:32 UTC

YJIT の String#dup の最適化まわりの不具合修正。 https://github.com/ruby/ruby/pull/13921

[960fae438b] Alan Wu 2025-07-16 23:25:37 UTC

ZJIT で GC.compact での参照移動対応のための memory barrier のための rb_gc_writebarrier_remember() の呼び出しを追加しています。

[116509670a] Alan Wu 2025-07-16 16:13:41 UTC

ZJIT のテスト用の make zjit-test ターゲットを ZJIT を利用するように configure で設定されてる時だけ定義するようにしています。

[1a20765074] Alan Wu 2025-07-16 16:16:39 UTC

YJIT と ZJIT 用の makefile で共通部分を defs/jit.mk に共通化しています。

[5239dc8a0b] Nobuyoshi Nakada 2025-07-16 23:38:57 UTC

32bfb61d349b49ddedb7d34d9e434063324aafcc で configure の AC_CHECK_FUNCS() 内の行継続を削って警告抑制していたのを revertg しています。 autoconf のバージョンが古いと行継続が必要だったみたいです。

[249cf5397f] David Rodríguez 2025-07-15 18:56:24 UTC

bundler の不要に分割されてたメソッドを連結するリファクタリング

[19d931b50d] David Rodríguez 2025-07-15 19:09:51 UTC

bundler の bundle cache の --path オプションに引数を "=" で繋げて書いた時に deprecated 警告が出てしまってた不具合を修正しています。

[44dd27c430] David Rodríguez 2025-07-15 19:20:01 UTC

bundler の bundle binstub でも同様にオプションの引数を "=" で連結して書いた時の不具合修正。

[fb4f9030cb] David Rodríguez 2025-07-14 07:42:46 UTC

bundler のテストの期待するメッセージの修正。

[45b53c0be1] David Rodríguez 2025-07-14 08:10:22 UTC

bundler の不要な? テストをいくつか削除しています。

[851a3e7724] David Rodríguez 2025-07-16 16:29:13 UTC

bundler で platform 名として不明な platform を表現する "--" というのを受け付けるようにしています。昔はこれを受け付けてたみたいですね。

[60fca1defc] David Rodríguez 2025-07-15 11:35:23 UTC

bundler の bundle install や bundle update の --redownload というオプション名を --force に戻しています。

[d5f98b9e7e] David Rodríguez 2025-07-14 08:45:32 UTC

rubygems のバージョンを 3.8.0.dev に、bundler のバージョンを 2.8.0.dev に更新しています。

[146ddf614b] Hiroshi SHIBATA 2025-07-15 06:03:33 UTC

拡張ライブラリ io/wait のバージョンを 0.3.2 に更新しています。

[4dfac710c2] git 2025-07-17 02:32:03 UTC

NEWS の default gems のバージョンリストの rubygems と bundler のバージョンを更新しています。また io-wait の項目も追加しています。

[84253ce38c] Koichi Sasada 2025-07-16 23:59:02 UTC

Ractor のドキュメントで Ractor::Port の導入と Ractor#take と Ractor.yield の廃止で古くなってた記述を更新しています。

[0482b11ee5] Koichi Sasada 2025-07-17 03:36:59 UTC

gems/bundled_gems の ostruct のバージョンを 0.6.3 に更新しています。

[552e44912e] git 2025-07-17 03:37:57 UTC

NEWS の bundled gems のバージョンリストの ostruct のバージョンも更新しています。

[7a3b6d30a8] Kazuhiro NISHIYAMA 2025-07-17 05:32:42 UTC

NEWS のチケット参照のリンクのための footnote を番号順に並べなおしています。

[a7992400f1] fuhsnn 2025-07-05 23:41:46 UTC

include/ruby/atomic.h の preprocessor 分岐を整理して #else を使わず明示的に条件を書くようにして、どれにも当てはまらない時に #else 内に #error でエラーにするようにしています。

[98aa2a6608] fuhsnn 2025-07-06 00:03:36 UTC

include/ruby/atomic.h に stdatomic.h という標準ライブラリ? のヘッダが利用可能な時の実装を追加しています。 C11 で追加されている標準みたいです。

[ba490059b4] Misaki Shioi 2025-07-17 09:15:19 UTC

拡張ライブラリ socket の TCPSocket.new に open_timeout というキーワード引数を追加して、名前解決とソケットの connect(2) の待ち時間をあわせてタイムアウトを指定できるようにしています。タイムアウト時には Errno::ETIMEDOUT を発生させるようです。clock_gettime やその計算/比較のあたりで rb_funcall() を多用しているのがちょっと気になるけど clock 系の関数が公開関数になってないので socket から使えないんですよね。 CLOCK_MONOTONIC 限定なので clock_gettime(3) を直で呼ぶのでは環境によってはダメですかね? https://github.com/ruby/ruby/pull/13909 [ruby-core:122164] [Feature #21347]

[10a2688fc4] Nobuyoshi Nakada 2025-07-17 10:47:18 UTC

ba490059b4eb70cb33fbc159e4ee0d12bdd37951 で拡張ライブラリ socket で切り出した rsock_raise_user_specified_timeout() という関数の宣言に NORETURN() マクロを使うようにしています。

[bb8924240d] Nobuyoshi Nakada 2025-07-17 10:42:41 UTC

組み込みメソッドの ruby 実装を ISeq のバイナリにして埋め込むための変換ツール tool/mk_builtin_loader.rb でローカル変数を抽出するところで LOCAL_PTR(var) のように Primitive で埋め込む C の関数呼び出しや式内で ruby のローカル変数を参照させるための記法の引数部分にも対応するようにしています。




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

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