1
0
mirror of https://github.com/golang/go synced 2024-11-26 01:17:57 -07:00

cmd/compile/internal/gc: reword "declared and not used" error message

"declared and not used" is technically correct, but might confuse
the user. Switching "and" to "but" will hopefully create the
contrast for the users: they did one thing (declaration), but
not the other --- actually using the variable.

This new message is still not ideal (specifically, declared is not
entirely precise here), but at least it matches the other parsers
and is one step in the right direction.

Change-Id: I725c7c663535f9ab9725c4b0bf35b4fa74b0eb20
Reviewed-on: https://go-review.googlesource.com/c/go/+/203282
Run-TryBot: Minux Ma <minux@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
Shenghou Ma 2019-10-24 21:29:30 -04:00 committed by Robert Griesemer
parent bf670bd83c
commit 449b6abbac
7 changed files with 10 additions and 10 deletions

View File

@ -32,7 +32,7 @@ func typecheckTypeSwitch(n *Node) {
// declaration itself. So if there are no cases, we won't
// notice that it went unused.
if v := n.Left.Left; v != nil && !v.isBlank() && n.List.Len() == 0 {
yyerrorl(v.Pos, "%v declared and not used", v.Sym)
yyerrorl(v.Pos, "%v declared but not used", v.Sym)
}
var defCase, nilCase *Node

View File

@ -50,10 +50,10 @@ func walk(fn *Node) {
if defn.Left.Name.Used() {
continue
}
yyerrorl(defn.Left.Pos, "%v declared and not used", ln.Sym)
yyerrorl(defn.Left.Pos, "%v declared but not used", ln.Sym)
defn.Left.Name.SetUsed(true) // suppress repeats
} else {
yyerrorl(ln.Pos, "%v declared and not used", ln.Sym)
yyerrorl(ln.Pos, "%v declared but not used", ln.Sym)
}
}

View File

@ -9,7 +9,7 @@
package foo
func f(x interface{}) {
switch t := x.(type) { // ERROR "declared and not used"
switch t := x.(type) { // ERROR "declared but not used"
case int:
}
}

View File

@ -48,8 +48,8 @@ func main() {
log.Fatalf("expected cmd/compile to fail")
}
wantErrs := []string{
"7:9: n declared and not used",
"7:12: err declared and not used",
"7:9: n declared but not used",
"7:12: err declared but not used",
}
outStr := string(out)
for _, want := range wantErrs {

View File

@ -10,6 +10,6 @@ func f(x interface{}) {
switch x.(type) {
}
switch t := x.(type) { // ERROR "declared and not used"
switch t := x.(type) { // ERROR "declared but not used"
}
}

View File

@ -10,5 +10,5 @@
package main
func _() {
x := 7 // ERROR "x declared and not used"
x := 7 // ERROR "x declared but not used"
}

View File

@ -11,9 +11,9 @@ package main
func notused(x interface{}) {
// The first t is in a different scope than the 2nd t; it cannot
// be accessed (=> declared and not used error); but it is legal
// be accessed (=> declared but not used error); but it is legal
// to declare it.
switch t := 0; t := x.(type) { // ERROR "declared and not used"
switch t := 0; t := x.(type) { // ERROR "declared but not used"
case int:
_ = t // this is using the t of "t := x.(type)"
}