今週も Matz が来なかったので GCC 15.1 対応の修正の詳細を nobu に聞いたり、次に書く Pathname の組み込みをやりながら、テスト落ちたところとかを直したりしていた。
先週の開発者会議で Pathname を組み込みクラスにするのはどうすか、というのを掘り起こしたら Matz が別にいいよ、というのでやってしまった。
https://bugs.ruby-lang.org/issues/17473
この Ruby のコードを組み込みクラスとして放り込む方法、というのがどこにも書いてなくて知ってる人だけが知っているという感じなので、後々どこかには書こうと思う。
あと、Pathname#find
, Pathname.mktmpdir
みたいに他のライブラリに依存しているやつは組み込みするのが難しい、というか組み込みクラスなのに他のライブラリがないと動かない、というのはイマイチということになって、これらを使うためにはあえて require を呼ばないとダメ、というのは現状の制限として残ることになった。
この辺は C で書き換えたり、なんなら依存ライブラリをべたっとコピーするとかしたりした上で組み込む感じで。これで irb でシュッと何かをやろうとした時に pathname を require し忘れたわ、みたいなことがなくなって少なくとも自分にとっては大変便利。