json-iterator/go

Marshal failure with Go 1.24 rc and GOARCH=386

bboreham opened this issue · 2 comments

I filed this as a Go bug since it is architecture-specific, but cross-posting here for visibility:

golang/go#71408

This code:

type Metadata struct {
	Type string `json:"type"`
}

func TestJsonIter(t *testing.T) {
	m := map[string][]Metadata{"item1": []Metadata{{Type: "gauge"}}, "item2": []Metadata{{Type: "summary"}}}
	json := jsoniter.ConfigCompatibleWithStandardLibrary
	s, err := json.Marshal(m)
	if err != nil {
		t.FailNow()
	}
	if len(s) < 40 {
		t.Errorf("Result too short (%d): %q", len(s), s)
	}
}

will get just one item in the output and fail the test, when run with GOARCH=386 and Go 1.24rc2.