// 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 }