x/vgo: fix the timestamp in a pseudo-version Fixes golang/go#24369 Change-Id: Id1a30020609532bf232dddb574242d786e1c3ead Reviewed-on: https://go-review.googlesource.com/106799 Reviewed-by: Russ Cox <rsc@golang.org>
diff --git a/vendor/cmd/go/internal/modfile/rule.go b/vendor/cmd/go/internal/modfile/rule.go index fd0315b..8a69f10 100644 --- a/vendor/cmd/go/internal/modfile/rule.go +++ b/vendor/cmd/go/internal/modfile/rule.go
@@ -252,16 +252,15 @@ func parseVersion(path string, s *string, fix VersionFixer) (string, error) { t := *s - if semver.IsValid(t) { - *s = semver.Canonical(t) - return *s, nil - } if fix != nil { - t, err := fix(path, t) + var err error + t, err = fix(path, t) if err != nil { return "", err } - *s = t + } + if semver.IsValid(t) { + *s = semver.Canonical(t) return *s, nil } return "", fmt.Errorf("version must be of the form v1.2.3")