From: Russ Cox Date: Tue, 16 Sep 2014 14:01:28 +0000 (-0400) Subject: io: clarify Reader returning 0, nil X-Git-Tag: go1.4beta1~401 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=3d2321f639452afbccc2249153c16abec2a6607f;p=gostls13.git io: clarify Reader returning 0, nil Fixes #8317. LGTM=bradfitz R=bradfitz, iant, r CC=golang-codereviews https://golang.org/cl/143100043 --- 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) }