// $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 I interface { send(chan <- int) }

type S struct { v int }
func (p *S) send(c chan <- int) { c <- p.v }

func main() {
  s := S{0};
  var i I = &s;
  c := make(chan int);
  go i.send(c);
  os.Exit(<-c);
}
