Closed1

Go Conference 2024 プロポーザル時間(&勢い)切れにつき、アイディアをここに残す…!

tenkohtenkoh

タイトル

ファイルパスの扱いはいつだって難しい。goコマンドのバグ修正から学んでみよう。

内容

マルチプラットフォーム対応はGoの大いなる魅力です。OSを跨ぐとハマりがちなファイルパスもpath/filepathを使えばへっちゃらで、「Goはそのへん小慣れてるなー」と安心感すら与えてくれます。ところがどっこい、実は様々なシーンでファイルパスを扱っているgoコマンドには、ここ数年でも何度かファイルパス周りのバグ修正が行われています。いったいどんなコーナーケースがあったのか、我々はその謎を追った…!

追加ノート

goコマンドのファイルパスの取り扱いに関して、私自身が数年前にcommitしたバグ修正と、その後に引き続いてGoのコアチームによって行われたバグ修正とから、「え、そんな使われ方するの!?」「そんなテストケースまであるのか…」という発見を深掘りしてみます。

関連Issue:

https://github.com/golang/go/issues/49570
https://github.com/golang/go/issues/51506

テストケース:

https://cs.opensource.google/go/go/+/master:src/cmd/go/internal/str/str_test.go;l=107;drc=77cd3a46a86dca22348a313912093503f3cded66

こいつの中身をちゃんと確認する時間と勢いが足りない…!

このスクラップは14日前にクローズされました