diff options
| author | Dan Scales <danscales@google.com> | 2021-12-12 11:08:59 -0800 |
|---|---|---|
| committer | Dan Scales <danscales@google.com> | 2021-12-13 06:35:06 +0000 |
| commit | 9bfe09d78bd1b3ab97bc6e1c31395f0822875fba (patch) | |
| tree | 12754b715fc756853d71e04e94bb2a1a0713891e /src/encoding/binary/example_test.go | |
| parent | 49b7c9caec6b96d0b327624efee61bd8a72cf68c (diff) | |
| download | go-9bfe09d78bd1b3ab97bc6e1c31395f0822875fba.tar.xz | |
cmd/compile: fix identity case relating to 'any' and shape types
In identical(), we don't want any to match a shape empty-interface type
for the identStrict option, since IdenticalStrict() is specifically not
supposed to match a shape type with a non-shape type.
There is similar code in (*Type).cmp() (TINTER case), but I don't
believe that we want to disqualify shape types from matching any in this
case, since cmp() is used for back-end code, where we don't care about
shape types vs non-shape types.
The issue mainly comes about when 'any' is used as a type argument
(rather than 'interface{}'), but only with some complicated
circumstances, as shown by the test case. (Couldn't reproduce with
simpler test cases.)
Fixes #50109
Change-Id: I3f2f88be158f9ad09273237e1d346bc56aac099f
Reviewed-on: https://go-review.googlesource.com/c/go/+/371154
Trust: Dan Scales <danscales@google.com>
Run-TryBot: Dan Scales <danscales@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/encoding/binary/example_test.go')
0 files changed, 0 insertions, 0 deletions
