| // 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" | 
 | ) |