Fixes #42891
Change-Id: I0cce4204a1c4959b896188a2ab3719c0507f95e6
Reviewed-on: https://go-review.googlesource.com/c/go/+/274172
Run-TryBot: Jay Conrod <jayconrod@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Trust: Jay Conrod <jayconrod@google.com>
                        }
                }
                for _, pkg := range loaded.pkgs {
-                       if pkg.testOf != nil || pkg.inStd {
+                       if pkg.testOf != nil || pkg.inStd || module.CheckImportPath(pkg.path) != nil {
                                continue
                        }
                        for prefix := pkg.path; prefix != "."; prefix = path.Dir(prefix) {
 
--- /dev/null
+# If an import declaration is an absolute path, most commands should report
+# an error instead of going into an infinite loop.
+# Verifies golang.org/issue/42891.
+go list .
+stdout '^m$'
+
+-- go.mod --
+module m
+
+go 1.16
+-- m.go --
+package m
+
+import "/"