Initial commit: Go 1.23 release state
This commit is contained in:
13
test/fixedbugs/issue21120.dir/a.go
Normal file
13
test/fixedbugs/issue21120.dir/a.go
Normal file
@@ -0,0 +1,13 @@
|
||||
// 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 a
|
||||
|
||||
type S struct {
|
||||
x int
|
||||
}
|
||||
|
||||
func V() interface{} {
|
||||
return S{0}
|
||||
}
|
||||
29
test/fixedbugs/issue21120.dir/b.go
Normal file
29
test/fixedbugs/issue21120.dir/b.go
Normal file
@@ -0,0 +1,29 @@
|
||||
// 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 b
|
||||
|
||||
import "reflect"
|
||||
|
||||
type X int
|
||||
|
||||
func F1() string {
|
||||
type x X
|
||||
|
||||
s := struct {
|
||||
*x
|
||||
}{nil}
|
||||
v := reflect.TypeOf(s)
|
||||
return v.Field(0).PkgPath
|
||||
}
|
||||
|
||||
func F2() string {
|
||||
type y X
|
||||
|
||||
s := struct {
|
||||
*y
|
||||
}{nil}
|
||||
v := reflect.TypeOf(s)
|
||||
return v.Field(0).PkgPath
|
||||
}
|
||||
25
test/fixedbugs/issue21120.dir/main.go
Normal file
25
test/fixedbugs/issue21120.dir/main.go
Normal file
@@ -0,0 +1,25 @@
|
||||
// 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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user