reflect: add test for invalid conversion

Conversion between slices with different element types is not allowed.
Previously (1.8 <= goversion <= 1.16), this conversion was allowed
if the base types were from different packages and had identical names.

Update #47785

Change-Id: I359de5b6fe3ff35bdbf9ab5a13902a0f820cac66
Reviewed-on: https://go-review.googlesource.com/c/go/+/343329
Trust: Keith Randall <khr@golang.org>
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Keith Randall 2021-08-18 09:38:19 -07:00
parent 69d8fbec7a
commit 9871726c72

View file

@ -7296,4 +7296,11 @@ func TestConvertibleTo(t *testing.T) {
if t1.ConvertibleTo(t2) {
t.Fatalf("(%s).ConvertibleTo(%s) = true, want false", t1, t2)
}
t3 := ValueOf([]example1.MyStruct{}).Type()
t4 := ValueOf([]example2.MyStruct{}).Type()
if t3.ConvertibleTo(t4) {
t.Fatalf("(%s).ConvertibleTo(%s) = true, want false", t3, t4)
}
}