// RUN: %target-typecheck-verify-swift %s class Base { } class Derived: Base { } func foo(_ x: T) -> Derived where T: Base, T: Derived { return x } func bar(_ x: U, y: T) -> (Derived, Int) where U: Base, U: Derived { // expected-warning@-1 {{same-type requirement makes generic parameter 'T' non-generic}} return (x, y) } // https://github.com/apple/swift/issues/50093 captures a crash on this code. class IntegerClass : ExpressibleByIntegerLiteral, Equatable { required init(integerLiteral value: Int) { } static func ==(lhs: IntegerClass, rhs: IntegerClass) -> Bool { return true } } func foo(_ num: T) { let _ = num != 0 }