Initial commit: Go 1.23 release state
This commit is contained in:
25
test/typeparam/issue48337b.dir/a.go
Normal file
25
test/typeparam/issue48337b.dir/a.go
Normal file
@@ -0,0 +1,25 @@
|
||||
// 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 a
|
||||
|
||||
type Container[T any] struct {
|
||||
X T
|
||||
}
|
||||
|
||||
func NewContainer[T any](x T) *Container[T] {
|
||||
return &Container[T]{x}
|
||||
}
|
||||
|
||||
type MetaContainer struct {
|
||||
C *Container[Value]
|
||||
}
|
||||
|
||||
type Value struct{}
|
||||
|
||||
func NewMetaContainer() *MetaContainer {
|
||||
c := NewContainer(Value{})
|
||||
// c := &Container[Value]{Value{}} // <-- this works
|
||||
return &MetaContainer{c}
|
||||
}
|
||||
11
test/typeparam/issue48337b.dir/main.go
Normal file
11
test/typeparam/issue48337b.dir/main.go
Normal file
@@ -0,0 +1,11 @@
|
||||
// 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 main
|
||||
|
||||
import "./a"
|
||||
|
||||
func main() {
|
||||
a.NewMetaContainer()
|
||||
}
|
||||
Reference in New Issue
Block a user