modernc.org/gc@v1.0.1-0.20240304020402-f0dba7c97c2b/testdata/errchk/test/const6.go (about)

     1  // 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  
     9  package p
    10  
    11  type mybool bool
    12  type mybool1 bool
    13  
    14  var (
    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
    22  	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"
    25  	_ = c2 && (x < y)
    26  	_ = c2 && (1 < 2)
    27  	_ = c1 && c2 // ERROR "mismatched types|incompatible types"
    28  	_ = c2 && c6 // ERROR "mismatched types|incompatible types"
    29  	_ = c1 && c6 // ERROR "mismatched types|incompatible types"
    30  )