summaryrefslogtreecommitdiffstats
path: root/test/typeparam/issue49659b.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/typeparam/issue49659b.go')
-rw-r--r--test/typeparam/issue49659b.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/typeparam/issue49659b.go b/test/typeparam/issue49659b.go
new file mode 100644
index 0000000..7e1535e
--- /dev/null
+++ b/test/typeparam/issue49659b.go
@@ -0,0 +1,28 @@
+// run
+
+// 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.
+
+// Testing that AddrTaken logic doesn't cause problems for function instantiations
+
+package main
+
+type A[T interface{ []int | [5]int }] struct {
+ val T
+}
+
+//go:noinline
+func (a A[T]) F() {
+ _ = &a.val[2]
+}
+
+func main() {
+ var x A[[]int]
+ x.val = make([]int, 4)
+ _ = &x.val[3]
+ x.F()
+ var y A[[5]int]
+ _ = &y.val[3]
+ y.F()
+}