mirror of
https://github.com/golang/go
synced 2024-11-24 12:30:14 -07:00
bd49a998bf
After removing trivial wrapper types, the source needs to be updated with new type, otherwise, it leads to mismatch between field offset and the source type for selecting struct/array. Fixes #49249 Change-Id: I26f9440bcb2e78bcf0617afc21d9d40cdbe4aca6 Reviewed-on: https://go-review.googlesource.com/c/go/+/360057 Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
56 lines
683 B
Go
56 lines
683 B
Go
// compile -l
|
|
|
|
// Copyright 2021 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package p
|
|
|
|
func f() int {
|
|
var a, b struct {
|
|
s struct {
|
|
s struct {
|
|
byte
|
|
float32
|
|
}
|
|
}
|
|
}
|
|
_ = a
|
|
|
|
return func() int {
|
|
return func() int {
|
|
a = struct {
|
|
s struct {
|
|
s struct {
|
|
byte
|
|
float32
|
|
}
|
|
}
|
|
}{b.s}
|
|
return 0
|
|
}()
|
|
}()
|
|
}
|
|
|
|
func g() int {
|
|
var a, b struct {
|
|
s [1][1]struct {
|
|
byte
|
|
float32
|
|
}
|
|
}
|
|
_ = a
|
|
|
|
return func() int {
|
|
return func() int {
|
|
a = struct {
|
|
s [1][1]struct {
|
|
byte
|
|
float32
|
|
}
|
|
}{b.s}
|
|
return 0
|
|
}()
|
|
}()
|
|
}
|