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  }