// errchk $G -e $D/$F.go // Copyright 2011 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 main import ( "io" ) type I interface { M() } func main(){ var x I switch x.(type) { case string: // ERROR "impossible" println("FAIL") } // Issue 2700: if the case type is an interface, nothing is impossible var r io.Reader _, _ = r.(io.Writer) switch r.(type) { case io.Writer: } // Issue 2827. switch _ := r.(type) { // ERROR "invalid variable name _" } }