// errchk $G -e $D/$F.go | |
// 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. | |
package main | |
import "io" | |
func whatis(x interface{}) string { | |
switch x.(type) { | |
case int: | |
return "int" | |
case int: // ERROR "duplicate" | |
return "int8" | |
case io.Reader: | |
return "Reader1" | |
case io.Reader: // ERROR "duplicate" | |
return "Reader2" | |
case interface { r(); w() }: | |
return "rw" | |
case interface { w(); r() }: // ERROR "duplicate" | |
return "wr" | |
} | |
return "" | |
} |