// RUN: %target-swift-frontend -typecheck %s -debug-generic-signatures 2>&1 | %FileCheck %s // CHECK-LABEL: rdar91232987.(file).P1@ // CHECK-NEXT: Requirement signature: protocol P1 { associatedtype A1: P2 where A1: Codable, A1.A3.A6: Codable } // CHECK-LABEL: rdar91232987.(file).P2@ // CHECK-NEXT: Requirement signature: protocol P2: P3 { associatedtype A2: P4 associatedtype A3: P5 } // CHECK-LABEL: rdar91232987.(file).P3@ // CHECK-NEXT: Requirement signature: protocol P3 {} // CHECK-LABEL: rdar91232987.(file).P4@ // CHECK-NEXT: Requirement signature: protocol P4 { associatedtype A4: P11 associatedtype A5: P9 } // CHECK-LABEL: rdar91232987.(file).P5@ // CHECK-NEXT: Requirement signature: protocol P5 { associatedtype A6: P6 } // CHECK-LABEL: rdar91232987.(file).P6@ // CHECK-NEXT: Requirement signature: protocol P6: P7, P10 { associatedtype A7: Hashable, Codable, RawRepresentable where A7.RawValue == String } // CHECK-LABEL: rdar91232987.(file).P7@ // CHECK-NEXT: Requirement signature: protocol P7: Equatable, P8 {} // CHECK-LABEL: rdar91232987.(file).P8@ // CHECK-NEXT: Requirement signature: protocol P8 {} // CHECK-LABEL: rdar91232987.(file).P9@ // CHECK-NEXT: Requirement signature: protocol P9 { associatedtype A8 } // CHECK-LABEL: rdar91232987.(file).P10@ // CHECK-NEXT: Requirement signature: protocol P10 {} // CHECK-LABEL: rdar91232987.(file).P11@ // CHECK-NEXT: Requirement signature: protocol P11 { associatedtype A9: P12 associatedtype A10: P13 } // CHECK-LABEL: rdar91232987.(file).P12@ // CHECK-NEXT: Requirement signature: protocol P12: Codable, Equatable {} // CHECK-LABEL: rdar91232987.(file).P13@ // CHECK-NEXT: Requirement signature: protocol P13 {} // CHECK-LABEL: rdar91232987.(file).P14@ // CHECK-NEXT: Requirement signature: protocol P14: P16 { associatedtype A1: P2 } // CHECK-LABEL: rdar91232987.(file).P15@ // CHECK-NEXT: Requirement signature: protocol P15 { associatedtype A6: P6 } // CHECK-LABEL: rdar91232987.(file).P16@ // CHECK-NEXT: Requirement signature: protocol P16 {} // CHECK-LABEL: rdar91232987.(file).C@ // CHECK-NEXT: Generic signature: class C where X.A1: Codable, X.A1.A3.A6: Codable, X.A1.A3.A6 == Y.A6 {}