summaryrefslogtreecommitdiffstats
path: root/test/fixedbugs/issue63490.go
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--test/fixedbugs/issue63490.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/fixedbugs/issue63490.go b/test/fixedbugs/issue63490.go
new file mode 100644
index 0000000..740ce9b
--- /dev/null
+++ b/test/fixedbugs/issue63490.go
@@ -0,0 +1,36 @@
+// compile
+
+// Copyright 2023 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 ResourceFunc struct {
+ junk [8]int
+ base assignmentBaseResource
+}
+
+type SubscriptionAssignmentResource struct {
+ base assignmentBaseResource
+}
+
+type assignmentBaseResource struct{}
+
+//go:noinline
+func (a assignmentBaseResource) f(s string) ResourceFunc {
+ println(s)
+ return ResourceFunc{}
+}
+
+//go:noinline
+func (r SubscriptionAssignmentResource) Hi() ResourceFunc {
+ rf := r.base.f("Hello world")
+ rf.base = r.base
+ return rf
+}
+
+func main() {
+ var r SubscriptionAssignmentResource
+ r.Hi()
+}