From 3d2321f639452afbccc2249153c16abec2a6607f Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 16 Sep 2014 10:01:28 -0400 Subject: [PATCH] io: clarify Reader returning 0, nil Fixes #8317. LGTM=bradfitz R=bradfitz, iant, r CC=golang-codereviews https://golang.org/cl/143100043 --- src/io/io.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/io/io.go b/src/io/io.go index e8bbad537c..7507a84929 100644 --- a/src/io/io.go +++ b/src/io/io.go @@ -62,8 +62,11 @@ var ErrNoProgress = errors.New("multiple Read calls return no data or error") // allowed EOF behaviors. // // Implementations of Read are discouraged from returning a -// zero byte count with a nil error, and callers should treat -// that situation as a no-op. Implementations must not retain p. +// zero byte count with a nil error, except when len(p) == 0. +// Callers should treat a return of 0 and nil as indicating that +// nothing happened; in particular it does not indicate EOF. +// +// Implementations must not retain p. type Reader interface { Read(p []byte) (n int, err error) } -- 2.50.0