// errorcheck

// Copyright 2015 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.

// Issue 13821.  Additional regress tests.

package p

type B bool
type B2 bool

var b B
var b2 B2
var x1 = b && 1 < 2 // x1 has type B, not ideal bool
var x2 = 1 < 2 && b // x2 has type B, not ideal bool
var x3 = b && b2    // ERROR "mismatched types B and B2"
var x4 = x1 && b2   // ERROR "mismatched types B and B2"
var x5 = x2 && b2   // ERROR "mismatched types B and B2"
var x6 = b2 && x1   // ERROR "mismatched types B2 and B"
var x7 = b2 && x2   // ERROR "mismatched types B2 and B"

var x8 = b && !B2(true) // ERROR "mismatched types B and B2"