diff --git a/test/fixedbugs/issue30659.dir/a.go b/test/fixedbugs/issue30659.dir/a.go
new file mode 100644
index 0000000000000000000000000000000000000000..3837e021c4817381de7aaa3a0e7f76987777fb09
--- /dev/null
+++ b/test/fixedbugs/issue30659.dir/a.go
@@ -0,0 +1,19 @@
+// Copyright 2019 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
+
+type I interface {
+	I2
+}
+type I2 interface {
+	M()
+}
+type S struct{}
+
+func (*S) M() {}
+
+func New() I {
+	return &S{}
+}
diff --git a/test/fixedbugs/issue30659.dir/b.go b/test/fixedbugs/issue30659.dir/b.go
new file mode 100644
index 0000000000000000000000000000000000000000..272e520582e8f02c88e564b8e118aae99964a495
--- /dev/null
+++ b/test/fixedbugs/issue30659.dir/b.go
@@ -0,0 +1,13 @@
+// Copyright 2019 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 b
+
+import (
+	"./a"
+)
+
+func B(p1 a.I, p2 a.I2) int {
+	return 42
+}
diff --git a/test/fixedbugs/issue30659.go b/test/fixedbugs/issue30659.go
new file mode 100644
index 0000000000000000000000000000000000000000..973ae1dcef229fff93cfeb070dc2b64f1ccfd0e0
--- /dev/null
+++ b/test/fixedbugs/issue30659.go
@@ -0,0 +1,7 @@
+// compiledir
+
+// Copyright 2019 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 ignored