トップ «前の日記(2026/03/09 (月) ) 最新 編集 RSS feed

HsbtDiary


2026/03/10 (火) [長年日記]

Ruby office hour

Matz が不在だったり、いつものメンバーが四国方面に行ってそう、というのもあったので nobu と2人でなぜか月曜と火曜あたりから落ち始めた Windows のデバッグをしていた。

https://github.com/ruby/ruby/pull/16356

要は scoop で入れている GNU coreutils の Rust 版 uutils-coreutils というやつの shim が作成されなくなってしまって sort コマンドがどこからともなくやってきた sort コマンドに置き換わっていてビルドスクリプトが落ちていた、ということだった。これが Windows Update の影響によるジャンクションの制御が変わったから、とか理由はわからないのだけどとにかく動いてないものは動いてない、ということで動くようにしていた。

いやー、scoop が環境を汚さないでまともに使えるやつだと思って使っているのに、こういうトラブルがあるのは本当にしんどい。

RubyGems の Pure Ruby YAML パーサーを Psych の実装に近づけた

先週作ったやつだと Psych は Psych、YAMLSerializer は YAMLSerializer という感じに完全に分離してテストや実装を作っていて、最終的に YAML 関連以外のテストが通れば OK!ということにしていたのだけど、次のフェーズとしてテストは Psych のものを信用しつつ、YAMLSerializerは全部その挙動に合わせるようにした。

https://github.com/ruby/rubygems/pull/9379

こんなのは Agent なら容易くやってくれるのであとは戦略だけになると思うんだけど、今まで分岐していた処理を分岐しないようにした上でテスト実行させた上で、一つずつエラーを見ては Psych の挙動になるようにして、と言い続けてるうちにできてしまった。1つだけ、コードの変更が大量になる割には「別にどうでもいい...」みたいなやつが残ったのでそれは別のレイヤーで吸収する感じにした。