From 48b194e538346d40a4f85f509f596cbf2d49f90b Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Thu, 27 Apr 2017 16:55:47 -0400 Subject: [PATCH] build: Fix shadowing bug in staleness calculation. The parent scope pkg variable was inadvertently shadowed in #411. As a result, the value of impModeTime was wrong, and the if statement could never be true, and pkg.SrcModTime was never updated to a later time. Fixes #559 (possibly other similar issues, but they'll need to be verified). --- build/build.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/build.go b/build/build.go index 47a889e61..62b82b6de 100644 --- a/build/build.go +++ b/build/build.go @@ -532,11 +532,11 @@ func (s *Session) BuildPackage(pkg *PackageData) (*compiler.Archive, error) { if importedPkgPath == "unsafe" || ignored { continue } - pkg, _, err := s.buildImportPathWithSrcDir(importedPkgPath, pkg.Dir) + importedPkg, _, err := s.buildImportPathWithSrcDir(importedPkgPath, pkg.Dir) if err != nil { return nil, err } - impModeTime := pkg.SrcModTime + impModeTime := importedPkg.SrcModTime if impModeTime.After(pkg.SrcModTime) { pkg.SrcModTime = impModeTime }