golang/test/typeparam/issue54535.go

38 lines
559 B
Go

// run
// Copyright 2022 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
type node[T any] struct {
items items[T]
children items[*node[T]]
}
func (n *node[T]) f(i int, j int) bool {
if len(n.children[i].items) < j {
return false
}
return true
}
type items[T any] []T
func main() {
_ = node[int]{}
_ = f[int]
}
type s[T, U any] struct {
a T
c U
}
func f[T any]() {
var x s[*struct{ b T }, *struct{ d int }]
_ = x.a.b
_ = x.c.d
}