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