// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: should run // 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 "os" type S struct { i int } func (p *S) Get() int { return p.i } type Empty interface { } type Getter interface { Get() int; } func f1(p Empty) { switch x := p.(type) { default: println("failed to match interface"); os.Exit(1); case Getter: break; } } func main() { var s S; f1(&s); }