// RUN: %empty-directory(%t) // RUN: %target-swift-emit-module-interface(%t/Test.swiftinterface) %s -module-name Test // RUN: %target-swift-typecheck-module-from-interface(%t/Test.swiftinterface) -module-name Test // RUN: %FileCheck %s < %t/Test.swiftinterface public protocol P { } public class Foo : P { public struct Nested {} } extension P { public static func blah1(_: Self) where Self == Foo {} public static func blah2(_: Self.Nested) where Self == Foo {} public static func blah3(_: Self) where Self : Foo {} public static func blah4(_: Self.Nested) where Self : Foo {} } // CHECK-LABEL: extension Test.P { // CHECK-NEXT: public static func blah1(_: Self) where Self == Test.Foo // CHECK-NEXT: public static func blah2(_: Test.Foo.Nested) where Self == Test.Foo // CHECK-NEXT: public static func blah3(_: Self) where Self : Test.Foo // CHECK-NEXT: public static func blah4(_: Test.Foo.Nested) where Self : Test.Foo // CHECK-NEXT: }