Permalink
Browse files

go/types: remove nil check around range

Ranging over a nil slice is a no-op, so guarding it with a nil check is
not useful.

Found with honnef.co/go/tools/cmd/staticcheck.

Change-Id: I6ce56bb6805809ca29349257f10fd69c30611643
Reviewed-on: https://go-review.googlesource.com/54131
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
  • Loading branch information...
mvdan committed Aug 9, 2017
1 parent 5500c9c commit d5ad7793d610bddfb3e7e09b8dafa0b0837f0cb2
Showing with 7 additions and 9 deletions.
  1. +7 −9 src/go/types/stmt.go
View
@@ -236,15 +236,13 @@ L:
}
// look for duplicate values
if val := goVal(v.val); val != nil {
if list := seen[val]; list != nil {
// look for duplicate types for a given value
// (quadratic algorithm, but these lists tend to be very short)
for _, vt := range list {
if Identical(v.typ, vt.typ) {
check.errorf(v.pos(), "duplicate case %s in expression switch", &v)
check.error(vt.pos, "\tprevious case") // secondary error, \t indented
continue L
}
// look for duplicate types for a given value
// (quadratic algorithm, but these lists tend to be very short)
for _, vt := range seen[val] {
if Identical(v.typ, vt.typ) {
check.errorf(v.pos(), "duplicate case %s in expression switch", &v)
check.error(vt.pos, "\tprevious case") // secondary error, \t indented
continue L
}
}
seen[val] = append(seen[val], valueType{v.pos(), v.typ})

0 comments on commit d5ad779

Please sign in to comment.