// RUN: %target-typecheck-verify-swift class C : Hashable { var x = 0 var hashValue: Int { return x } } func == (x: C, y: C) -> Bool { return true } class D : C {} var setC = Set() var setD = Set() // Test set upcasts setC = setD setD = setC // expected-error{{cannot assign value of type 'Set' to type 'Set'}}