glfmn

2026年7月30日 午後8:40 1

std.builtin.SourceLocation は位置情報として .line.column を使用しているため、SourceLocation で Zig ファイルの位置を特定するには改行を数える必要があります。

.offset を追加すれば、readPositional でソース位置を読み取ったり、メモリマップを利用して .offset からスライスしたりできるようになります。

ソース位置は非常に多く(追加のフィールドはメモリを消費する)、ソース行を表示する必要性は稀でホットパスでもないためだと思います。

ご指摘はわかりますが、テキスト/ソースファイルを扱う場合、通常はすべてをメモリに読み込むので、text_lines: [][]const u8 のような単純な構造で十分対応でき、.line.column で用は足りると思います。
エディタを開発する場合は全く話が別ですが……