// RUN: %target-swift-frontend -typecheck %s -debug-generic-signatures 2>&1 | %FileCheck %s // CHECK-LABEL: .Tree@ // CHECK-NEXT: Requirement signature: protocol Tree { associatedtype Distance: FloatingPoint & SIMDScalar associatedtype Point: SIMD where Point.Scalar == Distance } // CHECK-LABEL: .QuadTree@ // CHECK-NEXT: Requirement signature: > protocol QuadTree : Tree where Point == SIMD2 {} // CHECK-LABEL: .OctTree@ // CHECK-NEXT: Requirement signature: > protocol OctTree : Tree where Point == SIMD3 {} func sameType(_: T.Type, _: T.Type) {} extension QuadTree { func foo() { sameType(Point.MaskStorage.self, SIMD2.self) sameType(Point.MaskStorage.MaskStorage.self, SIMD2.self) } } extension OctTree { func foo() { sameType(Point.MaskStorage.self, SIMD3.self) sameType(Point.MaskStorage.MaskStorage.self, SIMD3.self) } }