summaryrefslogtreecommitdiffstats
path: root/test/typeparam/issue49497.dir
diff options
context:
space:
mode:
Diffstat (limited to 'test/typeparam/issue49497.dir')
-rw-r--r--test/typeparam/issue49497.dir/a.go26
-rw-r--r--test/typeparam/issue49497.dir/main.go11
2 files changed, 37 insertions, 0 deletions
diff --git a/test/typeparam/issue49497.dir/a.go b/test/typeparam/issue49497.dir/a.go
new file mode 100644
index 0000000..86062d4
--- /dev/null
+++ b/test/typeparam/issue49497.dir/a.go
@@ -0,0 +1,26 @@
+// 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
+
+func F[T any]() A[T] {
+ var x A[T]
+ return x
+}
+
+type A[T any] struct {
+ b B[T]
+}
+
+func (a A[T]) M() C[T] {
+ return C[T]{
+ B: a.b,
+ }
+}
+
+type B[T any] struct{}
+
+type C[T any] struct {
+ B B[T]
+}
diff --git a/test/typeparam/issue49497.dir/main.go b/test/typeparam/issue49497.dir/main.go
new file mode 100644
index 0000000..e74dae0
--- /dev/null
+++ b/test/typeparam/issue49497.dir/main.go
@@ -0,0 +1,11 @@
+// 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"
+
+func main() {
+ a.F[string]()
+}