github.com/amarpal/go-tools@v0.0.0-20240422043104-40142f59f616/simple/s1002/testdata/src/example.com/CheckIfBoolCmp/bool-cmp.go (about)

     1  package pkg
     2  
     3  func fn1() bool { return false }
     4  func fn2() bool { return false }
     5  
     6  func fn() {
     7  	type T bool
     8  	var x T
     9  	const t T = false
    10  	if x == t {
    11  	}
    12  	if fn1() == true { //@ diag(`simplified to fn1()`)
    13  	}
    14  	if fn1() != true { //@ diag(`simplified to !fn1()`)
    15  	}
    16  	if fn1() == false { //@ diag(`simplified to !fn1()`)
    17  	}
    18  	if fn1() != false { //@ diag(`simplified to fn1()`)
    19  	}
    20  	if fn1() && (fn1() || fn1()) || (fn1() && fn1()) == true { //@ diag(`simplified to (fn1() && fn1())`)
    21  	}
    22  
    23  	if (fn1() && fn2()) == false { //@ diag(`simplified to !(fn1() && fn2())`)
    24  	}
    25  
    26  	var y bool
    27  	for y != true { //@ diag(`simplified to !y`)
    28  	}
    29  	if !y == true { //@ diag(`simplified to !y`)
    30  	}
    31  	if !y == false { //@ diag(`simplified to y`)
    32  	}
    33  	if !y != true { //@ diag(`simplified to y`)
    34  	}
    35  	if !y != false { //@ diag(`simplified to !y`)
    36  	}
    37  	if !!y == false { //@ diag(`simplified to !y`)
    38  	}
    39  	if !!!y == false { //@ diag(`simplified to y`)
    40  	}
    41  	if !!y == true { //@ diag(`simplified to y`)
    42  	}
    43  	if !!!y == true { //@ diag(`simplified to !y`)
    44  	}
    45  	if !!y != true { //@ diag(`simplified to !y`)
    46  	}
    47  	if !!!y != true { //@ diag(`simplified to y`)
    48  	}
    49  	if !y == !false { // not matched because we expect true/false on one side, not !false
    50  	}
    51  
    52  	var z interface{}
    53  	if z == true {
    54  	}
    55  }