blob: c005ac3696db53b98b96d858a6bde90e72298cf9 [file] [log] [blame]
Russ Cox4ad505d2013-02-03 01:44:03 -05001// errorcheck
2
3// Copyright 2013 The Go Authors. All rights reserved.
4// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file.
6
7// Ideal vs non-ideal bool. See issue 3915, 3923.
8
9package p
10
11type mybool bool
12type mybool1 bool
13
14var (
15 x, y int = 1, 2
16 c1 bool = x < y
17 c2 mybool = x < y
18 c3 mybool = c2 == (x < y)
19 c4 mybool = c2 == (1 < 2)
20 c5 mybool = 1 < 2
21 c6 mybool1 = x < y
Rémy Oudomphengbe6556f2013-06-26 18:05:02 +020022 c7 = c1 == c2 // ERROR "mismatched types|incompatible types"
23 c8 = c2 == c6 // ERROR "mismatched types|incompatible types"
24 c9 = c1 == c6 // ERROR "mismatched types|incompatible types"
Russ Cox4ad505d2013-02-03 01:44:03 -050025 _ = c2 && (x < y)
26 _ = c2 && (1 < 2)
Rémy Oudomphengbe6556f2013-06-26 18:05:02 +020027 _ = c1 && c2 // ERROR "mismatched types|incompatible types"
28 _ = c2 && c6 // ERROR "mismatched types|incompatible types"
29 _ = c1 && c6 // ERROR "mismatched types|incompatible types"
Russ Cox4ad505d2013-02-03 01:44:03 -050030)