diff --git a/src/cmd/compile/internal/abt/avlint32.go b/src/cmd/compile/internal/abt/avlint32.go index 00bbccf45a..eed5fa5d38 100644 --- a/src/cmd/compile/internal/abt/avlint32.go +++ b/src/cmd/compile/internal/abt/avlint32.go @@ -7,6 +7,7 @@ package abt import ( "fmt" "strconv" + "strings" ) const ( @@ -326,39 +327,21 @@ func (t *T) Equals(u *T) bool { return t.root.equals(u.root) } -// This doesn't build with go1.4, sigh -// func (t *T) String() string { -// var b strings.Builder -// first := true -// for it := t.Iterator(); !it.IsEmpty(); { -// k, v := it.Next() -// if first { -// first = false -// } else { -// b.WriteString("; ") -// } -// b.WriteString(strconv.FormatInt(int64(k), 10)) -// b.WriteString(":") -// b.WriteString(v.String()) -// } -// return b.String() -// } - func (t *T) String() string { - var b string + var b strings.Builder first := true for it := t.Iterator(); !it.Done(); { k, v := it.Next() if first { first = false } else { - b += ("; ") + b.WriteString("; ") } - b += (strconv.FormatInt(int64(k), 10)) - b += (":") - b += fmt.Sprint(v) + b.WriteString(strconv.FormatInt(int64(k), 10)) + b.WriteString(":") + b.WriteString(fmt.Sprint(v)) } - return b + return b.String() } func (t *node32) equals(u *node32) bool {