mirror of
https://github.com/golang/go
synced 2024-11-17 14:14:56 -07:00
os: fix type check error in benchmark
Previously, 's' was only written to, never read, which is disallowed by the spec. cmd/compile has a bug where it doesn't notice this when a closure is involved, but go/types does notice, which was making "go vet" fail. This CL moves the variable into the closure and also makes sure to use it. Change-Id: I2d83fb6b5c1c9018df03533e966cbdf455f83bf9 Reviewed-on: https://go-review.googlesource.com/108556 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
be012e1e2e
commit
e9bc0c5d24
@ -62,19 +62,24 @@ func TestExpand(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
var global interface{}
|
||||
|
||||
func BenchmarkExpand(b *testing.B) {
|
||||
var s string
|
||||
b.Run("noop", func(b *testing.B) {
|
||||
var s string
|
||||
b.ReportAllocs()
|
||||
for i := 0; i < b.N; i++ {
|
||||
s = Expand("tick tick tick tick", func(string) string { return "" })
|
||||
}
|
||||
global = s
|
||||
})
|
||||
b.Run("multiple", func(b *testing.B) {
|
||||
var s string
|
||||
b.ReportAllocs()
|
||||
for i := 0; i < b.N; i++ {
|
||||
s = Expand("$a $a $a $a", func(string) string { return "boom" })
|
||||
}
|
||||
global = s
|
||||
})
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user