go/types, types2: copy test from issue48703 into its own file

Monomorphization checks do not run in the presence of errors, which was
suppressing the error from this test and making it appear to pass. This
is a bit misleading.

For #48703
For #80172

Change-Id: I87f672275df189366b88cf3ffac8b3d21b7a1a83
Reviewed-on: https://go-review.googlesource.com/c/go/+/798500
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
diff --git a/src/internal/types/testdata/fixedbugs/issue48703.go b/src/internal/types/testdata/fixedbugs/issue48703.go
index 89c667b..bb4f5a9 100644
--- a/src/internal/types/testdata/fixedbugs/issue48703.go
+++ b/src/internal/types/testdata/fixedbugs/issue48703.go
@@ -6,11 +6,6 @@
 
 import "unsafe"
 
-// The actual example from the issue.
-type List[P any] struct{}
-
-func (_ List[P]) m() (_ List[List[P]]) { return }
-
 // Other types of recursion through methods.
 type R[P any] int
 
diff --git a/src/internal/types/testdata/fixedbugs/issue80172.go b/src/internal/types/testdata/fixedbugs/issue80172.go
new file mode 100644
index 0000000..6f953c0
--- /dev/null
+++ b/src/internal/types/testdata/fixedbugs/issue80172.go
@@ -0,0 +1,9 @@
+// Copyright 2026 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 p
+
+type List[P /* ERROR "instantiation cycle" */ any] struct{}
+
+func (_ List[P]) m() (_ List[List[P]]) { return }