]> Cypherpunks repositories - gostls13.git/commitdiff
bytes: hoist error creation out of function
authorMarcel van Lohuizen <mpvl@golang.org>
Fri, 8 Feb 2019 16:57:46 +0000 (17:57 +0100)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 26 Feb 2019 22:57:25 +0000 (22:57 +0000)
generating frame information in errors will cause this
function to no longer be inlined.

Updates #29934.

Change-Id: I1d7bc11707f1872d7315f627bfb9a12afa41e358
Reviewed-on: https://go-review.googlesource.com/c/161760
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/bytes/buffer.go

index aff2db5084f11e20657f9e61897f278b26e626fc..190c4681623151c0e90b6965f7877ea0285eccb0 100644 (file)
@@ -385,13 +385,15 @@ func (b *Buffer) UnreadRune() error {
        return nil
 }
 
+var errUnreadByte = errors.New("bytes.Buffer: UnreadByte: previous operation was not a successful read")
+
 // UnreadByte unreads the last byte returned by the most recent successful
 // read operation that read at least one byte. If a write has happened since
 // the last read, if the last read returned an error, or if the read read zero
 // bytes, UnreadByte returns an error.
 func (b *Buffer) UnreadByte() error {
        if b.lastRead == opInvalid {
-               return errors.New("bytes.Buffer: UnreadByte: previous operation was not a successful read")
+               return errUnreadByte
        }
        b.lastRead = opInvalid
        if b.off > 0 {