// RUN: %target-typecheck-verify-swift -debug-generic-signatures 2>&1 | %FileCheck %s // CHECK: 83848546.(file).Reporter@ // CHECK-NEXT: Requirement signature: protocol Reporter { associatedtype SubReporterType: SubReporter func makeSubReporter() -> SubReporterType } // CHECK: 83848546.(file).SubReporter@ // CHECK-NEXT: Requirement signature: protocol SubReporter { associatedtype SubReporterType: SubReporter func makeSubReporter() -> SubReporterType } // CHECK: 83848546.(file).CausesCompilerCrash@ // CHECK-NEXT: Requirement signature: protocol CausesCompilerCrash { associatedtype ReporterType: Reporter associatedtype SubReporterType where ReporterType.SubReporterType == SubReporterType, SubReporterType.SubReporterType == SubReporterType } // CHECK: 83848546.(file).DoesNotCrash@ // CHECK-NEXT: Requirement signature: protocol DoesNotCrash { associatedtype ReporterType: Reporter where ReporterType.SubReporterType == ReporterType.SubReporterType.SubReporterType }