mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
reflect: omit anonymous field name from StructOf type string
This makes the reflect package match the compiler for StructOf with an embedded field. Fixes #24781 Change-Id: Ice64b167cbe0b9d30a953c5d8e2a86f3ad1158bf Reviewed-on: https://go-review.googlesource.com/c/go/+/567897 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Keith Randall <khr@golang.org> Commit-Queue: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Keith Randall <khr@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com>
This commit is contained in:
parent
f0d6ddfac0
commit
2ff89341f6
2 changed files with 17 additions and 2 deletions
|
|
@ -6112,6 +6112,20 @@ func TestStructOfTooLarge(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestStructOfAnonymous(t *testing.T) {
|
||||
var s any = struct{ D1 }{}
|
||||
f := TypeOf(s).Field(0)
|
||||
ds := StructOf([]StructField{f})
|
||||
st := TypeOf(s)
|
||||
dt := New(ds).Elem()
|
||||
if st != dt.Type() {
|
||||
t.Errorf("StructOf returned %s, want %s", dt.Type(), st)
|
||||
}
|
||||
|
||||
// This should not panic.
|
||||
_ = dt.Interface().(struct{ D1 })
|
||||
}
|
||||
|
||||
func TestChanOf(t *testing.T) {
|
||||
// check construction and use of type not in binary
|
||||
type T string
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue