mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
gob: remove a few more allocations.
- use enc.err and dec.err instead of return values in deferred error catcher - replace io.WriteString with buffer.WriteString now at: mallocs per encode of type Bench: 7 mallocs per decode of type Bench: 8 R=rsc CC=golang-dev https://golang.org/cl/4277057
This commit is contained in:
parent
3d1afb7680
commit
90f3f91786
5 changed files with 38 additions and 44 deletions
|
|
@ -1004,9 +1004,9 @@ func TestInvalidField(t *testing.T) {
|
|||
var bad0 Bad0
|
||||
bad0.CH = make(chan int)
|
||||
b := new(bytes.Buffer)
|
||||
var nilEncoder *Encoder
|
||||
err := nilEncoder.encode(b, reflect.NewValue(&bad0), userType(reflect.Typeof(&bad0)))
|
||||
if err == nil {
|
||||
dummyEncoder := new(Encoder) // sufficient for this purpose.
|
||||
dummyEncoder.encode(b, reflect.NewValue(&bad0), userType(reflect.Typeof(&bad0)))
|
||||
if err := dummyEncoder.err; err == nil {
|
||||
t.Error("expected error; got none")
|
||||
} else if strings.Index(err.String(), "type") < 0 {
|
||||
t.Error("expected type error; got", err)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue