| // 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 "" | |
| } |