summaryrefslogtreecommitdiffstats
path: root/test/typeparam/issue54535.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/typeparam/issue54535.go')
-rw-r--r--test/typeparam/issue54535.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/test/typeparam/issue54535.go b/test/typeparam/issue54535.go
new file mode 100644
index 0000000..574b275
--- /dev/null
+++ b/test/typeparam/issue54535.go
@@ -0,0 +1,37 @@
+// 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
+}