From ebb1c8b91262f89d944248a6048bdf35000ede89 Mon Sep 17 00:00:00 2001 From: Michael Hoisie Date: Mon, 31 May 2010 14:55:30 -0700 Subject: [PATCH] IntVector.Do now takes an f(int), and StringVector.Do now takes an f(string). R=r CC=golang-dev https://golang.org/cl/1433041 --- src/pkg/container/vector/defs.go | 4 ++-- src/pkg/container/vector/intvector_test.go | 15 ++++++------- src/pkg/container/vector/stringvector_test.go | 21 ++++++++----------- 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/src/pkg/container/vector/defs.go b/src/pkg/container/vector/defs.go index 0607a50c6d..7502865c9c 100644 --- a/src/pkg/container/vector/defs.go +++ b/src/pkg/container/vector/defs.go @@ -62,7 +62,7 @@ func (p *Vector) Do(f func(elem interface{})) { // Do calls function f for each element of the vector, in order. // The behavior of Do is undefined if f changes *p. -func (p *IntVector) Do(f func(elem interface{})) { +func (p *IntVector) Do(f func(elem int)) { for _, e := range *p { f(e) } @@ -71,7 +71,7 @@ func (p *IntVector) Do(f func(elem interface{})) { // Do calls function f for each element of the vector, in order. // The behavior of Do is undefined if f changes *p. -func (p *StringVector) Do(f func(elem interface{})) { +func (p *StringVector) Do(f func(elem string)) { for _, e := range *p { f(e) } diff --git a/src/pkg/container/vector/intvector_test.go b/src/pkg/container/vector/intvector_test.go index aa536cd16b..b8900478b2 100644 --- a/src/pkg/container/vector/intvector_test.go +++ b/src/pkg/container/vector/intvector_test.go @@ -279,9 +279,8 @@ func TestIntDo(t *testing.T) { a.Set(i, int2IntValue(salt*i)) } count := 0 - a.Do(func(e interface{}) { - i := intf2IntValue(e) - if i != int2IntValue(count*salt) { + a.Do(func(i int) { + if i != count*salt { t.Error(tname(a), "value at", count, "should be", count*salt, "not", i) } count++ @@ -295,9 +294,8 @@ func TestIntDo(t *testing.T) { (*b)[i] = int2IntValue(salt * i) } count = 0 - b.Do(func(e interface{}) { - i := intf2IntValue(e) - if i != int2IntValue(count*salt) { + b.Do(func(i int) { + if i != count*salt { t.Error(tname(b), "b) value at", count, "should be", count*salt, "not", i) } count++ @@ -312,9 +310,8 @@ func TestIntDo(t *testing.T) { c[i] = int2IntValue(salt * i) } count = 0 - c.Do(func(e interface{}) { - i := intf2IntValue(e) - if i != int2IntValue(count*salt) { + c.Do(func(i int) { + if i != count*salt { t.Error(tname(c), "c) value at", count, "should be", count*salt, "not", i) } count++ diff --git a/src/pkg/container/vector/stringvector_test.go b/src/pkg/container/vector/stringvector_test.go index 2a02a76420..5bc8a626bf 100644 --- a/src/pkg/container/vector/stringvector_test.go +++ b/src/pkg/container/vector/stringvector_test.go @@ -279,10 +279,9 @@ func TestStrDo(t *testing.T) { a.Set(i, int2StrValue(salt*i)) } count := 0 - a.Do(func(e interface{}) { - i := intf2StrValue(e) - if i != int2StrValue(count*salt) { - t.Error(tname(a), "value at", count, "should be", count*salt, "not", i) + a.Do(func(s string) { + if s != int2StrValue(count*salt) { + t.Error(tname(a), "value at", count, "should be", count*salt, "not", s) } count++ }) @@ -295,10 +294,9 @@ func TestStrDo(t *testing.T) { (*b)[i] = int2StrValue(salt * i) } count = 0 - b.Do(func(e interface{}) { - i := intf2StrValue(e) - if i != int2StrValue(count*salt) { - t.Error(tname(b), "b) value at", count, "should be", count*salt, "not", i) + b.Do(func(s string) { + if s != int2StrValue(count*salt) { + t.Error(tname(b), "b) value at", count, "should be", count*salt, "not", s) } count++ }) @@ -312,10 +310,9 @@ func TestStrDo(t *testing.T) { c[i] = int2StrValue(salt * i) } count = 0 - c.Do(func(e interface{}) { - i := intf2StrValue(e) - if i != int2StrValue(count*salt) { - t.Error(tname(c), "c) value at", count, "should be", count*salt, "not", i) + c.Do(func(s string) { + if s != int2StrValue(count*salt) { + t.Error(tname(c), "c) value at", count, "should be", count*salt, "not", s) } count++ }) -- 2.48.1