aboutsummaryrefslogtreecommitdiff
path: root/test/const6.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2013-02-03 01:44:03 -0500
committerRuss Cox <rsc@golang.org>2013-02-03 01:44:03 -0500
commit4ad505d1028bce57be165c343685edbc2518b4fc (patch)
tree67a5fd9bf3a40a6b96e3d3726755da70d0b1d51b /test/const6.go
parente87cc3dc5b3bbfeb018744902516e5684ca31a7f (diff)
downloadgo-4ad505d1028bce57be165c343685edbc2518b4fc.tar.gz
go-4ad505d1028bce57be165c343685edbc2518b4fc.zip
cmd/gc: update ideal bool rules to match latest spec
Fixes #3915. Fixes #3923. R=ken2 CC=golang-dev https://golang.org/cl/7281044
Diffstat (limited to 'test/const6.go')
-rw-r--r--test/const6.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/const6.go b/test/const6.go
new file mode 100644
index 0000000000..c04435db63
--- /dev/null
+++ b/test/const6.go
@@ -0,0 +1,30 @@
+// errorcheck
+
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Ideal vs non-ideal bool. See issue 3915, 3923.
+
+package p
+
+type mybool bool
+type mybool1 bool
+
+var (
+ x, y int = 1, 2
+ c1 bool = x < y
+ c2 mybool = x < y
+ c3 mybool = c2 == (x < y)
+ c4 mybool = c2 == (1 < 2)
+ c5 mybool = 1 < 2
+ c6 mybool1 = x < y
+ c7 = c1 == c2 // ERROR "mismatched types"
+ c8 = c2 == c6 // ERROR "mismatched types"
+ c9 = c1 == c6 // ERROR "mismatched types"
+ _ = c2 && (x < y)
+ _ = c2 && (1 < 2)
+ _ = c1 && c2 // ERROR "mismatched types"
+ _ = c2 && c6 // ERROR "mismatched types"
+ _ = c1 && c6 // ERROR "mismatched types"
+)