From: Daniel Martí Date: Wed, 9 Aug 2017 07:24:14 +0000 (+0900) Subject: go/types: remove nil check around range X-Git-Tag: go1.10beta1~1667 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d5ad7793d610bddfb3e7e09b8dafa0b0837f0cb2;p=gostls13.git 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í TryBot-Result: Gobot Gobot Reviewed-by: Robert Griesemer --- diff --git a/src/go/types/stmt.go b/src/go/types/stmt.go index 4e423bd686..f4feabefdd 100644 --- a/src/go/types/stmt.go +++ b/src/go/types/stmt.go @@ -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})