// RUN: %target-swift-frontend -typecheck %s -debug-generic-signatures 2>&1 | %FileCheck %s // CHECK-LABEL: .P1@ // CHECK-NEXT: Requirement signature: protocol P1 { associatedtype T: P2 where T.T == Self } // CHECK-LABEL: .P2@ // CHECK-NEXT: Requirement signature: protocol P2 { associatedtype T: P1 where T.T == Self } class SomeClass {} // CHECK-LABEL: .P3@ // CHECK-NEXT: Requirement signature: protocol P3: P2 where T: SomeClass {} protocol P4 { associatedtype T } // CHECK-LABEL: .foo@ // CHECK-NEXT: Generic signature: func foo(_: T) where T.T: P1, T.T.T: P3 {}