Peter Collingbourne | ad9841e | 2014-11-27 00:06:42 +0000 | [diff] [blame] | 1 | // RUN: llgo -o %t %s |
2 | // RUN: %t 2>&1 | FileCheck %s | ||||
3 | |||||
4 | // CHECK: true | ||||
5 | // CHECK-NEXT: false | ||||
6 | // CHECK-NEXT: true | ||||
7 | // CHECK-NEXT: false | ||||
8 | // CHECK-NEXT: false | ||||
9 | // CHECK-NEXT: true | ||||
10 | // CHECK-NEXT: true | ||||
11 | // CHECK-NEXT: false | ||||
12 | // CHECK-NEXT: false | ||||
13 | // CHECK-NEXT: true | ||||
14 | |||||
15 | package main | ||||
16 | |||||
17 | type S0 struct{} | ||||
18 | |||||
19 | type S1 struct { | ||||
20 | a int | ||||
21 | } | ||||
22 | |||||
23 | type S2 struct { | ||||
24 | a, b int | ||||
25 | } | ||||
26 | |||||
27 | func testS0() { | ||||
28 | println(S0{} == S0{}) | ||||
29 | println(S0{} != S0{}) | ||||
30 | } | ||||
31 | |||||
32 | func testS1() { | ||||
33 | println(S1{1} == S1{1}) | ||||
34 | println(S1{1} != S1{1}) | ||||
35 | println(S1{1} == S1{2}) | ||||
36 | println(S1{1} != S1{2}) | ||||
37 | } | ||||
38 | |||||
39 | func testS2() { | ||||
40 | s1 := S2{1, 2} | ||||
41 | s2 := S2{1, 3} | ||||
42 | println(s1 == s1) | ||||
43 | println(s1 == s2) | ||||
44 | println(s1 != s1) | ||||
45 | println(s1 != s2) | ||||
46 | } | ||||
47 | |||||
48 | func main() { | ||||
49 | testS0() | ||||
50 | testS1() | ||||
51 | testS2() | ||||
52 | } |