ruby-trunk-changes 2022-05-03

今日は YJIT の Rust 実装の修正やドキュメントの修正などがありました。

[8587bacc25] Koichi ITO 2022-05-02 14:05:01 UTC

YJIT の Rust 実装で現在必要としている Rust のバージョンでは不要になっている extern crate 文を削除しています。 https://github.com/ruby/ruby/pull/5869

[51ac3c9e80] Burdette Lamar 2022-05-02 16:03:26 UTC

標準添付ライブラリ getoptlong の rdoc 用コメントを追記しサンプルを examples/getoptlong/ 配下のファイル群に切り出しているようです。

[503f2292bd] git 2022-05-02 16:09:47 UTC

version.h の日付更新

[049303eff3] Nobuyoshi Nakada 2022-05-02 17:37:52 UTC

fef79dfa251b167480ef9ba8d17698c469c22542 の doc/format_specifications.rdoc のリンク修正を再度修正しています。相対パスなので doc/ は不要だった模様。

[b793245dac] Alan Wu 2022-05-02 18:00:35 UTC

doc/yjit/yjit.md の YJIT のためのサードパーティーライブラリの依存から libcapstone についての記述を削除しています。

[5f20f4deee] Alan Wu 2022-05-02 16:51:40 UTC

yjit.c で STATIC_ASSERT() で USE_FLONUM=0 でビルドされているとビルドエラーにするようにしています。 flonum (Float を即値にする)を有効にしてないビルドは YJIT はサポート外のようです。

[35e111fd3e] Maxime Chevalier-Boisvert 2022-05-02 20:30:05 UTC

YJIT の Rust 実装の guard_two_fixnums() で引数が即値であることをチェックするところで変数を間違えていた不具合を修正しています https://github.com/ruby/ruby/pull/5876

ruby-trunk-changes 2022-05-02

今日は主にドキュメント修正と GitHub Actions の CodeQL 関連アクションのバージョン更新がありました。

[fef79dfa25] Burdette Lamar 2022-05-01 17:26:42 UTC

doc/format_specifications.rdoc の英文の修正やリンクのファイルパスが間違ってたのを修正。 https://github.com/ruby/ruby/pull/5866

[72c8d4fd3a] git 2022-05-01 17:27:10 UTC

version.h の日付更新

[2e901368ea] Kazuhiro NISHIYAMA 2022-05-01 23:58:46 UTC

doc/ChangeLog-0.60_to_1.1 (ずいぶん昔の ChangeLog ですね)の typo 修正。

[63932ec33e] "dependabot[bot]" 2022-05-02 02:20:54 UTC

dependabot による GitHub workflow の github/codeql-action/ の各種アクションのバージョン更新。

ruby-trunk-changes 2022-04-30

今日は主に YIJT の Rust 実装の警告抑制などの手直しがありました。

[f8e4488e5e] Dmitry Dygalo 2022-04-29 14:07:48 UTC

YJIT の Rust 実装でコメントを追加する処理を cfg attribute で feature=acm_comments が有効になってる時だけ定義するようにしています。 preprocessr 分岐みたいなものかな。 https://github.com/ruby/ruby/pull/5863

[fead7107ab] Alan Wu 2022-04-27 18:08:52 UTC

YJIT の Rust 実装で不要な copy を削るなどしています。 Clippy という Rust の静的解析ツールによる指摘の反映とのこと。

[d0ff7a5930] git 2022-04-29 19:04:07 UTC

version.h の日付更新

[7c039e423c] Burdette Lamar 2022-04-29 22:04:05 UTC

doc/format_specifications.rdoc というファイルを追加して printf 系メソッドのフォーマット文字列についてのドキュメントを記述しています。いくつかの指示子はまだセクション分けだけで空白なので未完のようです。 https://github.com/ruby/ruby/pull/5857

[5c843a1a6e] Alan Wu 2022-04-29 22:20:23 UTC

YJIT の Rust 実装で rustc が警告する dead code などの検出結果を削るなどの対応と警告抑制のため? #[allow(dead_code)] という attribute を追加するなどの対応。 https://github.com/ruby/ruby/pull/5864

[3a8d60f503] Chris Seaton 2022-04-30 10:57:51 UTC

Object#hash の rdoc 用コメントに独自に hash メソッドを再定義する時にはクラスも hash 値計算に含めて Array#hash を利用するのがいいよというベストプラクティスを追記しています。ほー、なるほど。 https://github.com/ruby/ruby/pull/5805

ruby-trunk-changes 2022-04-29

今日は RGenGC 用 write barrier の抜けの修正、YJIT 対応のビルドの Solaris でのエラーの対応、rubygems の gem owner サブコマンドの help メッセージの追記などがありました。

[c416dbb3c7] Alan Wu 2022-04-27 16:23:52 UTC

Array#replace でバッファの内容をコピーする時に RGenGC 用の write barrier が抜けていたのを修正。ary_memcpy() を利用するようにしています。

[5f0116c5ce] git 2022-04-28 15:31:41 UTC

version.h の日付更新

[0eb237d99c] Maxime Chevalier-Boisvert 2022-04-28 21:12:24 UTC

YJIT の Rust 実装内のコーディングスタイルというか記法の変更。より Rsut っぽい書きかたにするためにってことみたいです。 https://github.com/ruby/ruby/pull/5858

[907b31d7b9] Aaron Patterson 2022-04-27 22:37:58 UTC

configure で macOS(darwin) 環境でコンパイラの -print-search-dirs オプションを指定して表示されるディレクトリを LDFLAGS に追加してた処理を削っています。 M1 Mac (Apple Silicon) の環境で誤って x86 版のライブラリをリンクしないようにするためみたいです。 [ruby-core:108424] [Bug#18758]

[99281f513c] Alan Wu 2022-04-28 21:52:21 UTC

c466f270b891962518763ad299f907beac0ebf62 の続きで template/Makefile.in の YJIT 対応のためのルールでディレクトリに空白文字が含まれる場合に対応するため find コマンドを使って -exec で ar コマンド実行するようにしています。

[cf45d30fd7] Yusuke Endoh 2022-04-29 04:14:14 UTC

rubygems の cargo (Rust) 対応のテストで Kernel#system でコマンド実行していところのメソッド呼び出しに明示的にかっこを追加しています。最初の引数の前に * がついているので乗算とあいまいなので $VERBOSE=true で警告が出ていたようです。

[3cf107fde2] Matthias Viehweger 2022-04-26 18:48:12 UTC

rubygems の gem owner サブコマンドの help メッセージに複数のユーザーを一度に操作できるというのを追記しています。

[5741ae379b] Matthias Viehweger 2022-04-27 06:27:31 UTC

さらに rubygems の gem owner サブコマンドの help メッセージにユーザーの指定方法は push するサーバーによって異なる可能性があるというのを追記しています。

ruby-trunk-changes 2022-04-28

今日は主に YJIT の実装を Rust に移植する変更と、おそらくそのテスト対応のための rubygems/bundler の更新がありました。

[f90549cd38] Alan Wu 2022-04-19 18:40:21 UTC

非常に大きな変更ですが YJIT のコード生成部分を Rust 実装に変更しています。これによりリポジトリのチェックアウトからのビルドで YJIT を有効にするには Rust が必要になったのではないかと思います。パッケージからのビルドでは不要なはず?

[932bfd0beb] Alan Wu 2022-04-20 15:29:05 UTC

f90549cd38518231a6a74432fe1168c943a7cc18 で追加した Rust 実装の yjit/src/asm/mod.rs でコメント行の追加? のためのチェックのリファクタリング

[0514d81715] Alan Wu 2022-04-20 16:06:34 UTC

yjit/bindgen/src/main.rs の不要な crate の宣言を削除しています。

[b43eb54a0c] git 2022-04-27 15:00:54 UTC

version.h の日付更新

[e1536a1e56] Maxime Chevalier-Boisvert 2022-04-27 17:16:42 UTC

doc/yjit/yjit.md の configure 時の --with-opt-dir の指定方法の例にクオートを追加しています。

[cd2613b6a4] Charles Oliver Nutter 2022-04-27 20:55:28 UTC

標準添付ライブラリ net/http のバージョンを 0.2.1.pre1 に更新しています。

[840dbe1cbf] git 2022-04-27 20:57:25 UTC

NEWS の default gems のバージョン一覧に net-http のバージョンを追記しています。

[c466f270b8] Alan Wu 2022-04-27 22:12:53 UTC

template/Makefile.in で YJIT 対応のためのルール? で Solaris の make でうまく動かなかったコマンドの記法をリファクタリングしています。 shell の if を使ったコマンドを Makefile のコマンド部に書くとだめだった模様。

[4210ae2158] Kazuhiro NISHIYAMA 2022-04-28 00:44:38 UTC

c466f270b891962518763ad299f907beac0ebf62 のさらに追加修正。 Solaris のシェルで $(cmd) によるコマンド実行結果を利用する記法が動かなかったそうなのでバッククオートを利用するように修正しています。

[5250210aa9] David Rodríguez 2022-04-26 12:53:55 UTC

bundler の Bundler::EndpointSpecification#required_rubygems_version で古い rubygems の Gem::Requirement.default という API に fallback する対応を追加しています。

[7c141f996b] Kazuhiro NISHIYAMA 2022-04-28 08:51:05 UTC

yjit/src/codegen.rs のコメントの typo など修正。

[6dc314ac6d] Hiroshi SHIBATA 2022-03-16 11:52:46 UTC

rubygems と bundler に upstream から最新版をマージしています。

[f4009566af] David Rodríguez 2022-04-01 08:56:13 UTC

rubygems で Open3 を利用しているところに明示的な require "open3" を追加しています。

[479ba9a44b] David Rodríguez 2022-04-01 09:39:38 UTC

bundler のテスト用 helper メソッドで File.realpath が実装されているかチェックしている条件がありましたが、もう常に定義されているものとして削っています。

[678d58c850] Hiroshi SHIBATA 2022-04-01 11:36:59 UTC

再度 rubygems と bundler に upstream から最新版をマージしています。

[fbb4b8d235] David Rodríguez 2022-04-06 17:01:19 UTC

6dc314ac6df69e29ba58dfd61dde90e85a2b47c9 で追加された rubygems のテストで Rust 対応のためのテストクラスの setup メソッドで super を最初に呼ぶように移動しています。

[cd2410f9d8] David Rodríguez 2022-04-06 17:32:32 UTC

6dc314ac6df69e29ba58dfd61dde90e85a2b47c9fbb4b8d23505be46da7cd996d0c85039cf43b45a のさらに続きで test/rubygems/test_gem_ext_cargo_builder.rb の setup メソッドで super をさらに前に移動してメソッドの先頭で呼ぶように移動しています。また ENV の内容を退避していたのが不要だったみたいで削っています。

[1056489ea3] Hiroshi SHIBATA 2022-04-28 08:15:43 UTC

再度 rubygems と bundler を upstream からマージしています。

[d77b88c681] Hiroshi SHIBATA 2022-04-28 08:48:04 UTC

rubygems のテスト test/rubygems/test_require.rb で定義されていた testing_ruby_repo? というユーティリティメソッドを test/rubygems/helper.rb に移動しています。

[0626e6f959] Hiroshi SHIBATA 2022-04-28 08:48:21 UTC

rubygems の Rust 対応のためのテストでスキップする条件に rubyリポジトリ内でのテストの場合というのを追加しています。

ruby-trunk-changes 2022-04-27

今日は Hash オブジェクトに追加する要素数を事前に指定して作る C API rb_hash_new_capa() の追加や Class#superclass の高速化などがありました。

[4a2b5102c1] Jean Boussier 2022-04-22 14:08:19 UTC

C API に Hash オブジェクトに初期のサイズを指定して作成する rb_hash_new_capa() という関数を追加しています。埋め込みじゃない場合はサイズといってもその数を指定して st_table を作るので内部的な配列のサイズということではないですが。 [ruby-core:108185] [Feature #18683]

[bdb7345ce9] Kaíque Kandy Koga 2022-04-26 13:47:52 UTC

lib/mkmf.rb のコメントの typo 修正。

[87fb0864bd] git 2022-04-26 19:39:11 UTC

version.h の日付更新

[a8541475d1] John Hawthorn 2022-03-05 07:31:37 UTC

rb_class_superclass() で引数に T_ICLASS 型のオブジェクトが来た時のための処理が実際には不要だったみたい? でその処理は削除して RCLASS_SUPERCLASSES() を利用した高速な実装を使うようにしています。

[0bab4c4add] Kazuhiro NISHIYAMA 2022-04-27 01:11:53 UTC

doc/ChangeLog-2.3.0 と lib/rubygems/text.rb のコメントに書かれてる git.io という短縮 URL? を展開して正式な? URL に修正しています。 もうすぐ git.io がリダイレクトを止めるそうです。 https://github.blog/changelog/2022-04-25-git-io-deprecation/

[f553180a86] Burdette Lamar 2022-04-27 11:00:22 UTC

Kernel#Integer() の rdoc 用コメントの説明とサンプルを関連したものを交互に並べるように整形しています。 https://github.com/ruby/ruby/pull/5847

ruby-trunk-changes 2022-04-26

今日は主にドキュメントの修正などがありました。

[6ae81d49b5] Benoit Daloze 2022-04-25 12:53:51 UTC

spec/mspec に upstream から最新版をマージしています。

[45cf4f2187] Benoit Daloze 2022-04-25 12:53:54 UTC

spec/ruby に rubyspec から最新版をマージしています。

[5701b4084e] Nobuyoshi Nakada 2022-04-25 14:49:58 UTC

doc/syntax/assignment.rdoc に代入記号つきメソッドの呼び出しを含む代入文の評価値は右辺値の値になるという文章を追記しています。メソッドの戻り値は無視されるんでしたっけ。

[69c1145fa8] Burdette Lamar 2022-04-25 15:07:21 UTC

Math の rdoc 用コメントのモジュール全体のドキュメントは doc/math/math.rdoc に切り出し、他の各メソッドの rdoc 用コメントもサンプルを追加するなど全体的に手直ししています。 https://github.com/ruby/ruby/pull/5837

[a06e41067c] git 2022-04-25 15:07:39 UTC

version.h の日付更新

[f4093c5c3b] Kazuhiro NISHIYAMA 2022-04-25 15:16:39 UTC

拡張ライブラリ io/nonblock の IO#nonblock の rdoc 用コメントの call-seq でブロック付きの呼び出しでの戻り値が receiver の IO オブジェクトであるように書かれてましたが、ブロックの評価値になるので object と修正しています。

[b989c7c6ac] Alan Wu 2022-04-25 18:28:39 UTC

tool/mkconfig.rb の RbConfig.fire_update! メソッドの定義を rdoc でドキュメント生成されないようつけてた :nodoc: タグのコメントをドキュメント用コメント(ドキュメント用コメントはあるけど生成はしないんだ……)の前じゃなくメソッド定義の行末に移動しています。

[9c44b5fbc8] Alan Wu 2022-04-25 17:30:00 UTC

GitHub Actions のいろんなコンパイラオプションを試す workflow で gcc の -flto=auto -ffat-lto-objects オプションを試す時に最適化オプション -O2 を CC で設定していたのを configure の optflags で指定するように移動しています。 optflags で上書きされてデフォルトの -O1 になってしまってたみたいです。

[5c61caa481] Alan Wu 2022-04-25 18:30:54 UTC

vm_method.c の rb_clear_constant_cache_for_id() で rb_id_table_lookup() の引数に型の異なる変数のポインタを渡していて strict aliasing エラーになっていたのを VALUE 型の変数で一旦受け取ってからキャストするように修正しています。

[9e8841e592] Colin Hart 2022-04-25 19:32:29 UTC

Enumerable#each_with_object メソッドの rdoc 用コメントの Hash に対して利用する時のサンプルコードでブロック引数での splat を使う記法を使うように変更しています。simplify したって書いてるけどある意味こっちのほうが(ruby っぽいけど)複雑ですね。

[f8724987db] Jeremy Evans 2022-04-25 20:07:35 UTC

Range クラスの rdoc 用コメントに Range リテラルの endless, beginless の記法についての説明を追記しています。

[5ce0d2aa35] Burdette Lamar 2022-04-25 20:59:09 UTC

Kernel#Array()、Kernel#Hash()、Kernel#String() などの変換メソッドの rdoc 用コメントの手直し。 https://github.com/ruby/ruby/pull/5846