github.com/xushiwei/go@v0.0.0-20130601165731-2b9d83f45bc9/test/fixedbugs/bug141.go (about) 1 // run 2 3 // Copyright 2009 The Go Authors. All rights reserved. 4 // Use of this source code is governed by a BSD-style 5 // license that can be found in the LICENSE file. 6 7 package main 8 9 import "os" 10 11 type S struct { i int } 12 func (p *S) Get() int { return p.i } 13 14 type Empty interface { 15 } 16 17 type Getter interface { 18 Get() int; 19 } 20 21 func f1(p Empty) { 22 switch x := p.(type) { 23 default: println("failed to match interface", x); os.Exit(1); 24 case Getter: break; 25 } 26 27 } 28 29 func main() { 30 var s S; 31 f1(&s); 32 }