Initial commit: Go 1.23 release state
This commit is contained in:
29
test/typeparam/issue47892b.dir/a.go
Normal file
29
test/typeparam/issue47892b.dir/a.go
Normal file
@@ -0,0 +1,29 @@
|
||||
// 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 T struct{ p *int64 }
|
||||
|
||||
type i struct{}
|
||||
|
||||
func G() *T { return &T{nil} }
|
||||
|
||||
func (j i) F(a, b *T) *T {
|
||||
n := *a.p + *b.p
|
||||
return &T{&n}
|
||||
}
|
||||
|
||||
func (j i) G() *T {
|
||||
return &T{}
|
||||
}
|
||||
|
||||
type I[Idx any] interface {
|
||||
G() Idx
|
||||
F(a, b Idx) Idx
|
||||
}
|
||||
|
||||
func Gen() I[*T] {
|
||||
return i{}
|
||||
}
|
||||
17
test/typeparam/issue47892b.dir/main.go
Normal file
17
test/typeparam/issue47892b.dir/main.go
Normal file
@@ -0,0 +1,17 @@
|
||||
// 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"
|
||||
|
||||
type S[Idx any] struct {
|
||||
A string
|
||||
B Idx
|
||||
}
|
||||
|
||||
type O[Idx any] struct {
|
||||
A int
|
||||
B a.I[Idx]
|
||||
}
|
||||
Reference in New Issue
Block a user