From ef954a03eb9d4e8d19e1024db088095110e19a0b Mon Sep 17 00:00:00 2001 From: Marcel van Lohuizen Date: Fri, 8 Feb 2019 17:57:46 +0100 Subject: [PATCH] bytes: hoist error creation out of function 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 TryBot-Result: Gobot Gobot Reviewed-by: Russ Cox Reviewed-by: Brad Fitzpatrick --- src/bytes/buffer.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bytes/buffer.go b/src/bytes/buffer.go index aff2db5084..190c468162 100644 --- a/src/bytes/buffer.go +++ b/src/bytes/buffer.go @@ -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 { -- 2.50.0