diff options
author | Russ Cox <rsc@golang.org> | 2021-01-08 17:02:41 -0500 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2021-01-19 20:07:52 +0000 |
commit | 0575e35e506cb180c5743209684b57dd41b4365f (patch) | |
tree | 45b0a984f3d71f59a6e8c935c2a845af3df81762 /test | |
parent | ccb2e906882e45fe2d22c31049185208adbfb62e (diff) | |
download | go-0575e35e506cb180c5743209684b57dd41b4365f.tar.gz go-0575e35e506cb180c5743209684b57dd41b4365f.zip |
cmd/compile: require 'go 1.16' go.mod line for //go:embed
This will produce better errors when earlier versions of
Go compile code using //go:embed. (The import will cause
a compilation error but then the go command will add to
the output that the Go toolchain in use looks too old
and maybe that's the problem.)
This CL also adds a test for disallowing embed of a var inside a func.
It's a bit too difficult to rebase down into that CL.
The build system configuration check is delayed in order to
make it possible to use errorcheck for these tests.
Change-Id: I12ece4ff2d8d53380b63f54866e8f3497657d54c
Reviewed-on: https://go-review.googlesource.com/c/go/+/282718
Trust: Russ Cox <rsc@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Jay Conrod <jayconrod@google.com>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/embedfunc.go | 15 | ||||
-rw-r--r-- | test/embedvers.go | 12 |
2 files changed, 27 insertions, 0 deletions
diff --git a/test/embedfunc.go b/test/embedfunc.go new file mode 100644 index 0000000000..14e0f82975 --- /dev/null +++ b/test/embedfunc.go @@ -0,0 +1,15 @@ +// errorcheck + +// Copyright 2021 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 p + +import _ "embed" + +func f() { + //go:embed x.txt // ERROR "go:embed cannot apply to var inside func" + var x string + _ = x +} diff --git a/test/embedvers.go b/test/embedvers.go new file mode 100644 index 0000000000..71f0f22f1d --- /dev/null +++ b/test/embedvers.go @@ -0,0 +1,12 @@ +// errorcheck -lang=go1.15 + +// Copyright 2021 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 p + +import _ "embed" + +//go:embed x.txt // ERROR "go:embed requires go1.16 or later" +var x string |