0
1
mirror of https://github.com/golang/go synced 2025-05-24 14:55:02 +00:00

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>
This commit is contained in:
Russ Cox
2021-01-08 17:02:41 -05:00
parent ccb2e90688
commit 0575e35e50
4 changed files with 41 additions and 4 deletions
src
cmd
compile
internal
go
test

15
test/embedfunc.go Normal file

@ -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
}