Indeed this issue is still open. I've resorted to doing the following, in order to make obvious (to a future reader of the code) the bug: int charsRead = fin.readf(cast(char []) "%c\n", &myChar); Maybe a unittest should be included in the appropriate place within stream.d?