mirror of
https://github.com/golang/go
synced 2024-11-05 15:26:15 -07:00
ee392ac10c
It is possible to have an unexported name with a nil package, for an embedded field whose type is a pointer to an unexported type. We must encode that fact in the type..namedata symbol name, to avoid incorrectly merging an unexported name with an exported name. Fixes #21120 Change-Id: I2e3879d77fa15c05ad92e0bf8e55f74082db5111 Reviewed-on: https://go-review.googlesource.com/50710 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
26 lines
432 B
Go
26 lines
432 B
Go
// Copyright 2017 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 main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"./a"
|
|
"./b"
|
|
)
|
|
|
|
func main() {
|
|
// Make sure the reflect information for a.S is in the executable.
|
|
_ = a.V()
|
|
|
|
b1 := b.F1()
|
|
b2 := b.F2()
|
|
if b1 != b2 {
|
|
fmt.Printf("%q (from b.F1()) != %q (from b.F2())\n", b1, b2)
|
|
os.Exit(1)
|
|
}
|
|
}
|