]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/gc: reword "declared and not used" error message
authorShenghou Ma <minux@golang.org>
Fri, 25 Oct 2019 01:29:30 +0000 (21:29 -0400)
committerRobert Griesemer <gri@golang.org>
Mon, 28 Oct 2019 23:34:13 +0000 (23:34 +0000)
"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>
src/cmd/compile/internal/gc/swt.go
src/cmd/compile/internal/gc/walk.go
test/fixedbugs/bug373.go
test/fixedbugs/issue21317.go
test/fixedbugs/issue23116.go
test/fixedbugs/issue29870b.go
test/typeswitch2b.go

index 297099305696f0cdd55553143a03654cf47bb217..0d5df2e0bd63ab77b352b9ff40c717c09eaa142b 100644 (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
index 7d9f0cbd584efda6e656865c18e3e62d719ae9c8..0e780bad6c38611eeba6f7ded53cc362c0da75e8 100644 (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)
                }
        }
 
index aa0f5d1efa685d0912e8e017b6b3c2b0ef00881e..6b7a312097a06095743e5979f4031153efdb7a59 100644 (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:
        }
 }
index 530694af1283370dd551fa5b35741038cb8e9246..ee1bbf810b9eda49c48fa9bf878b2c76e71daaf0 100644 (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 {
index 1737fee2c8eaa8a7f0e29f8ae8ca0fc12ef06e99..b4b36d4ba97a51161e97efc80fa901310f5abfd3 100644 (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"
        }
 }
index 1bac566bbbfd59de97054eac86ef86f33992feef..2d5f638530cb46d88c3a110598dc24185bcbed15 100644 (file)
@@ -10,5 +10,5 @@
 package main
 
 func _() {
-       x := 7 // ERROR "x declared and not used"
+       x := 7 // ERROR "x declared but not used"
 }
index 135ae86cff1b88aacfefd4e2c86c4a1497ea701e..6da0d5fa6ed78ab18dbc1a4dbd4b244287926c9d 100644 (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)"
        }