github.com/llvm-mirror/llgo@v0.0.0-20190322182713-bf6f0a60fce1/test/execution/interfaces/basic.go (about) 1 // RUN: llgo -o %t %s 2 // RUN: %t 2>&1 | FileCheck %s 3 4 // CHECK: expected: y != z 5 6 package main 7 8 type any interface{} 9 10 type Stringer interface { 11 String() string 12 } 13 14 type lessThanAWord struct { 15 a byte 16 } 17 18 func (l lessThanAWord) String() string { 19 return "!" 20 } 21 22 func makeAStringer() Stringer { 23 return lessThanAWord{} 24 } 25 26 func main() { 27 var x1, x2 int = 1, 2 28 var y any = x1 29 var z any = x2 30 if y != z { 31 println("expected: y != z") 32 } else { 33 println("unexpected: y == z") 34 } 35 /* 36 if y == x1 { 37 println("expected: y == x1") 38 } else { 39 println("unexpected: y == x1") 40 } 41 */ 42 //println(y.(int)) 43 }