diff options
| author | Ian Lance Taylor <iant@golang.org> | 2018-02-23 10:34:01 -0800 |
|---|---|---|
| committer | Ian Lance Taylor <iant@golang.org> | 2018-02-23 22:39:46 +0000 |
| commit | 804e3e565e98e1ff3a22eb354a473225f6dc7351 (patch) | |
| tree | 17140bfce6bd2ea40c967e9df4610b0a754b2fc3 /src/runtime/error.go | |
| parent | a5e8e2d99815346cdff61905237056e0095c75ea (diff) | |
| download | go-804e3e565e98e1ff3a22eb354a473225f6dc7351.tar.xz | |
runtime: don't check for String/Error methods in printany
They have either already been called by preprintpanics, or they can
not be called safely because of the various conditions checked at the
start of gopanic.
Fixes #24059
Change-Id: I4a6233d12c9f7aaaee72f343257ea108bae79241
Reviewed-on: https://go-review.googlesource.com/96755
Reviewed-by: Austin Clements <austin@google.com>
Diffstat (limited to 'src/runtime/error.go')
| -rw-r--r-- | src/runtime/error.go | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/runtime/error.go b/src/runtime/error.go index 6048272e75..e1291e1543 100644 --- a/src/runtime/error.go +++ b/src/runtime/error.go @@ -73,14 +73,12 @@ func typestring(x interface{}) string { } // printany prints an argument passed to panic. +// If panic is called with a value that has a String or Error method, +// it has already been converted into a string by preprintpanics. func printany(i interface{}) { switch v := i.(type) { case nil: print("nil") - case stringer: - print(v.String()) - case error: - print(v.Error()) case bool: print(v) case int: |
