Matz が参加するのが少し後だったので、それと前後して Namespace の機能を示す新しい名前って何があるかねえというのを雑談していた。
https://bugs.ruby-lang.org/issues/21385
まだ書かれていない出てきた案としては World
や Verse
とか、他にはなんちゃらScope、なんちゃらspace とか、2語をくっつけた感のはイマイチとか、好き勝手話してブレストしていた。難しいもんだねえ。
6/5 に開催予定の Ruby 開発者会議のアジェンダを眺めたり、ここ1ヶ月にあった bugs のアップデートを眺めて議論すると進みそうなものをピックアップしたりしていた。
bugs の issue は全部目を通してはいるけど、「で、どうしたいの」がないものとか「で、誰がやるのこれ」みたいなやつとか、この先どう進めりゃいいんだこれ、ってのが結構あってなかなか大変である。
この日は Discord に集まってゆらっと参加していた。
https://asakusarb.esa.io/posts/1252
自分は、というと前から試そう試そうと思っていた abi-compliance-checker
がどういう動作になるのかを確かめていた。まずは abi-dumper
というものを使って比較のためのダンプファイルを作る。
hsbt@ubuntu:~/dev$ abi-dumper ruby-3.3.8/ruby -o ruby-3.3.dump
WARNING: module version is not specified (-lver NUM)
Reading debug-info
WARNING: incompatible build option detected: -O3 (required -Og for better analysis)
Reading v-tables
/home/hsbt/dev/ruby-3.3.8/ruby: cannot dynamically load position-independent executable
Creating ABI dump
The object ABI has been dumped to:
ruby-3.3.dump
hsbt@ubuntu:~/dev$ abi-dumper ruby-3.4.4/ruby -o ruby-3.4.dump
WARNING: module version is not specified (-lver NUM)
Reading debug-info
WARNING: incompatible build option detected: -O3 (required -Og for better analysis)
Reading v-tables
/home/hsbt/dev/ruby-3.4.4/ruby: cannot dynamically load position-independent executable
Creating ABI dump
The object ABI has been dumped to:
ruby-3.4.dump
Warning は気になるけど、正確性というよりはとりあえず結果を見たいということなのでこのまま進める
hsbt@ubuntu:~/dev$ abi-compliance-checker -old ruby-3.3.dump -new ruby-3.4.dump -l libruby
Preparing, please wait ...
Comparing ABIs ...
Comparing APIs ...
Creating compatibility report ...
Binary compatibility: 92.7%
Source compatibility: 92.4%
Total binary compatibility problems: 156, warnings: 71
Total source compatibility problems: 92, warnings: 45
Report: compat_reports/libruby/X_to_Y/compat_report.html
作成された html を眺めると、3.3 から 3.4 にかけて消えたものとか、データ構造などが抽出されたので「なるほどね」とはなった。しかし、このなるほどね、をちゃんと意味のある形、例えば NEWS などで「この構造体が変わりましたよ」とか「関数の引数がなくなりましたよ」とかで活用するにはどうするといいんだろうねえ。