Funny that this should resurface today.
Earlier, stratts advocated for not assigning the interface to a variable at all.
Indeed, in this case, in your post:
var file_reader: std.fs.File.Reader = file.reader(&read_buf);
// Pointer to the std.Io.Reader interface to use the generic IO functions.
const reader = &file_reader.interface;
You create a reader just as in the discussion (and oops) of that thread. I notice that file_reader is used for nothing other than its interface, and that the interface (reader) is used only twice. Obviously, in a real app, it would potentially be used much more, and file_reader might, too, but would it make sense to propagate @stratts proposal, and just
_ = file_reader.interface.streamDelimiter(&line...
instead, and possibly rename variables for ergonomics?