Skip to content

Commit 7393049

Browse files
cuonglmgopherbot
authored andcommitted
reflect: simplify array value comparable check
If array element is not interface, array or struct, we just need to check whether the array element type is comparable. Change-Id: I1ab94cfa17ae86feb6cd3fbdf878af5a776e7bec Reviewed-on: https://go-review.googlesource.com/c/go/+/426194 Reviewed-by: Cherry Mui <[email protected]> Run-TryBot: Cuong Manh Le <[email protected]> Auto-Submit: Cuong Manh Le <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> TryBot-Result: Gopher Robot <[email protected]>
1 parent 63e129b commit 7393049

File tree

1 file changed

+1
-8
lines changed

1 file changed

+1
-8
lines changed

src/reflect/value.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3264,22 +3264,15 @@ func (v Value) Comparable() bool {
32643264
return true
32653265

32663266
case Array:
3267-
if v.Type().Len() == 0 {
3268-
return v.Type().Comparable()
3269-
}
3270-
32713267
switch v.Type().Elem().Kind() {
32723268
case Interface, Array, Struct:
32733269
for i := 0; i < v.Type().Len(); i++ {
32743270
if !v.Index(i).Comparable() {
32753271
return false
32763272
}
32773273
}
3278-
default:
3279-
return v.Index(0).Comparable()
32803274
}
3281-
3282-
return true
3275+
return v.Type().Comparable()
32833276

32843277
case Func:
32853278
return false

0 commit comments

Comments
 (0)