]> Cypherpunks.ru repositories - gostls13.git/blobdiff - test/typeswitch2.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / typeswitch2.go
index 57c5a18ab2da952bbfac1007252c12583955ea1a..62c96c8330f6010333dce002269511ba3ee49fff 100644 (file)
@@ -1,9 +1,12 @@
-// errchk $G -e $D/$F.go
+// errorcheck
 
 // Copyright 2009 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.
 
+// Verify that various erroneous type switches are caught by the compiler.
+// Does not compile.
+
 package main
 
 import "io"
@@ -23,22 +26,12 @@ func whatis(x interface{}) string {
                w()
        }:
                return "rw"
-       case interface {
+       case interface {        // ERROR "duplicate"
                w()
                r()
-       }: // ERROR "duplicate"
+       }:
                return "wr"
 
        }
        return ""
 }
-
-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
-       // to declare it.
-       switch t := 0; t := x.(type) { // ERROR "declared and not used"
-       case int:
-               _ = t // this is using the t of "t := x.(type)"
-       }
-}