|  | // 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|incompatible types" | 
|  | c8 = c2 == c6 // ERROR "mismatched types|incompatible types" | 
|  | c9 = c1 == c6 // ERROR "mismatched types|incompatible types" | 
|  | _ = c2 && (x < y) | 
|  | _ = c2 && (1 < 2) | 
|  | _ = c1 && c2 // ERROR "mismatched types|incompatible types" | 
|  | _ = c2 && c6 // ERROR "mismatched types|incompatible types" | 
|  | _ = c1 && c6 // ERROR "mismatched types|incompatible types" | 
|  | ) |