Initial commit: Go 1.23 release state
This commit is contained in:
17
test/typeparam/issue47892.dir/a.go
Normal file
17
test/typeparam/issue47892.dir/a.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 a
|
||||
|
||||
type Index[T any] interface {
|
||||
G() T
|
||||
}
|
||||
|
||||
type I1[T any] struct {
|
||||
a T
|
||||
}
|
||||
|
||||
func (i *I1[T]) G() T {
|
||||
return i.a
|
||||
}
|
||||
21
test/typeparam/issue47892.dir/main.go
Normal file
21
test/typeparam/issue47892.dir/main.go
Normal file
@@ -0,0 +1,21 @@
|
||||
// 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 Model[T any] struct {
|
||||
index a.Index[T]
|
||||
}
|
||||
|
||||
func NewModel[T any](index a.Index[T]) Model[T] {
|
||||
return Model[T]{
|
||||
index: index,
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
_ = NewModel[int]((*a.I1[int])(nil))
|
||||
}
|
||||
Reference in New Issue
Block a user