mirror of
https://github.com/golang/go
synced 2024-11-18 22:34:45 -07:00
38 lines
559 B
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
|
||
|
}
|