github.com/llvm-mirror/llgo@v0.0.0-20190322182713-bf6f0a60fce1/test/execution/interfaces/static_conversion.go (about) 1 // RUN: llgo -o %t %s 2 // RUN: %t 2>&1 | FileCheck %s 3 4 // CHECK: 666 5 // CHECK-NEXT: 3 6 7 package main 8 9 type Blah interface{} 10 type Numbered interface { 11 Blah 12 Number() int 13 } 14 15 type Beast struct{} 16 17 func (b *Beast) Number() int { 18 return 666 19 } 20 21 type MagicNumber int 22 23 func (m MagicNumber) Number() int { 24 return int(m) 25 } 26 27 func main() { 28 var b Beast 29 var m MagicNumber = 3 30 var n Numbered = &b 31 println(n.Number()) 32 33 n = m 34 println(n.Number()) 35 }