]> Cypherpunks repositories - gostls13.git/commitdiff
go/types: don't exclude package unsafe from a Package's Imports list
authorRobert Griesemer <gri@golang.org>
Thu, 2 Mar 2017 19:13:06 +0000 (11:13 -0800)
committerRobert Griesemer <gri@golang.org>
Thu, 2 Mar 2017 22:43:41 +0000 (22:43 +0000)
There's no good reason to exclude it and it only makes the code more
complicated and less consistent. Having it in the list provides an
easy way to detect if a package uses operations from package unsafe.

Change-Id: I2f9b0485db0a680bd82f3b93a350b048db3f7701
Reviewed-on: https://go-review.googlesource.com/37694
Reviewed-by: Alan Donovan <adonovan@google.com>
src/go/types/package.go
src/go/types/resolver.go

index a588ee73dce9d861d01b6d394c3cc22046d75960..9828909dfa0d1d71dc470c01448db51531704c43 100644 (file)
@@ -52,7 +52,7 @@ func (pkg *Package) Complete() bool { return pkg.complete }
 func (pkg *Package) MarkComplete() { pkg.complete = true }
 
 // Imports returns the list of packages directly imported by
-// pkg; the list is in source order. Package unsafe is excluded.
+// pkg; the list is in source order.
 //
 // If pkg was loaded from export data, Imports includes packages that
 // provide package-level objects referenced by pkg. This may be more or
index 939f70a9ca883ffa20b48a2e61da933a225efc30..9b6e767758a66b1f0816c5d3fb8234222d081791 100644 (file)
@@ -215,9 +215,7 @@ func (check *Checker) collectObjects() {
                                                // for clients; it is not needed for type-checking)
                                                if !pkgImports[imp] {
                                                        pkgImports[imp] = true
-                                                       if imp != Unsafe {
-                                                               pkg.imports = append(pkg.imports, imp)
-                                                       }
+                                                       pkg.imports = append(pkg.imports, imp)
                                                }
 
                                                // local name overrides imported package name