diff --git a/internal/runtime/z_error.go b/internal/runtime/z_error.go index eb05f07c..69cdb953 100644 --- a/internal/runtime/z_error.go +++ b/internal/runtime/z_error.go @@ -96,6 +96,10 @@ func printany(i any) { print(v) case string: print(v) + case error: + print(v.Error()) + case interface{ String() string }: + print(v.String()) default: printanycustomtype(i) } diff --git a/internal/runtime/z_rt.go b/internal/runtime/z_rt.go index fa43c104..c11ebb6c 100644 --- a/internal/runtime/z_rt.go +++ b/internal/runtime/z_rt.go @@ -47,12 +47,6 @@ func Recover() (ret any) { // Panic panics with a value. func Panic(v any) { - switch e := v.(type) { - case error: - v = e.Error() - case interface{ String() string }: - v = e.String() - } ptr := c.Malloc(unsafe.Sizeof(v)) *(*any)(ptr) = v excepKey.Set(ptr) @@ -91,10 +85,6 @@ func TracePanic(v any) { } /* -func unpackEface(i any) *eface { - return (*eface)(unsafe.Pointer(&i)) -} - func stringTracef(fp c.FilePtr, format *c.Char, s String) { cs := c.Alloca(uintptr(s.len) + 1) c.Fprintf(fp, format, CStrCopy(cs, s))