| // RUN: llgo -o %t %s | |
| // RUN: %t 2>&1 | FileCheck %s | |
| // CHECK: hello from T 1 | |
| // CHECK-NEXT: hello from T 2 | |
| package main | |
| type T struct { | |
| val int | |
| } | |
| func (t T) Hello(done chan bool) { | |
| println("hello from T", t.val) | |
| done <- true | |
| } | |
| type I interface { | |
| Hello(chan bool) | |
| } | |
| func main() { | |
| done := make(chan bool) | |
| t := T{1} | |
| go t.Hello(done) | |
| <-done | |
| var i I = T{2} | |
| go i.Hello(done) | |
| <-done | |
| go println("hello builtin") | |
| } |