From 4a288bc4b7025bef6a12c7e0cd196eb8371e2753 Mon Sep 17 00:00:00 2001 From: Steve Klabnik Date: Mon, 18 Aug 2014 13:17:27 -0400 Subject: Explain EOF behavior in File.eof(). Fies #16239. --- src/libstd/io/fs.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/libstd/io') diff --git a/src/libstd/io/fs.rs b/src/libstd/io/fs.rs index f95f41509a0..725d3b10def 100644 --- a/src/libstd/io/fs.rs +++ b/src/libstd/io/fs.rs @@ -236,10 +236,15 @@ impl File { }) } - /// Tests whether this stream has reached EOF. + /// Returns true if the stream has reached the end of the file. /// /// If true, then this file will no longer continue to return data via /// `read`. + /// + /// Note that the operating system will not return an `EOF` indicator + /// until you have attempted to read past the end of the file, so if + /// you've read _exactly_ the number of bytes in the file, this will + /// return `false`, not `true`. pub fn eof(&self) -> bool { self.last_nread == 0 } -- cgit 1.4.1-3-g733a5