// RUN: %target-swift-frontend -typecheck %s -debug-generic-signatures 2>&1 | %FileCheck %s protocol P { associatedtype T } struct C {} // CHECK-LABEL: .f1@ // CHECK-NEXT: Generic signature: func f1(_: T, _: U) where T.T == C, T.T == U.T { } // CHECK-LABEL: .f2@ // CHECK-NEXT: Generic signature: func f2(_: T, _: U) where U.T == C, T.T == U.T { } // CHECK-LABEL: .f3@ // CHECK-NEXT: Generic signature: func f3(_: T, _: U) where T.T == C, U.T == C, T.T == U.T { } // CHECK-LABEL: .f4@ // CHECK-NEXT: Generic signature: func f4(_: T, _: U) where T.T == C, T.T == U.T, U.T == C { } // CHECK-LABEL: .f5@ // CHECK-NEXT: Generic signature: func f5(_: T, _: U) where T.T == U.T, T.T == C, U.T == C { } // CHECK-LABEL: .f6@ // CHECK-NEXT: Generic signature: func f6(_: T, _: U) where U.T == C, T.T == C, T.T == U.T { } // CHECK-LABEL: .f7@ // CHECK-NEXT: Generic signature: func f7(_: T, _: U) where T.T == C, U.T == C, T.T == U.T { } // CHECK-LABEL: .f8@ // CHECK-NEXT: Generic signature: func f8(_: T, _: U) where T.T == U.T, U.T == C, T.T == C { }