// RUN: %target-swift-frontend \ // RUN: -enable-experimental-feature LifetimeDependence \ // RUN: -verify -typecheck %s -debug-generic-signatures \ // RUN: -debug-inverse-requirements 2>&1 | %FileCheck %s --implicit-check-not "error:" // REQUIRES: swift_feature_LifetimeDependence // CHECK-LABEL: .Outer@ // CHECK: Generic signature: // CHECK-LABEL: .Outer.innerFn@ // CHECK: Generic signature: // CHECK-LABEL: .Outer.InnerStruct@ // CHECK: Generic signature: // CHECK-LABEL: .Outer.InnerStruct.g@ // CHECK: Generic signature: // CHECK-LABEL: .Outer.InnerStruct.init()@ // CHECK: Generic signature: // CHECK: (builtin_conformance type="Outer.InnerStruct" protocol="Escapable"{{.*}}) // CHECK-LABEL: .Outer.InnerVariation1@ // CHECK: Generic signature: // CHECK-LABEL: .Outer.InnerVariation2@ // CHECK: Generic signature: // CHECK-LABEL: ExtensionDecl {{.*}} base=Outer.InnerStruct // CHECK: Generic signature: // CHECK-LABEL: .InnerStruct extension.hello@ // CHECK: Generic signature: // CHECK-LABEL: .Freestanding@ // CHECK: Generic signature: // CHECK-LABEL: ExtensionDecl {{.*}} base=Outer // CHECK: Generic signature: // CHECK-LABEL: ExtensionDecl {{.*}} base=Outer.InnerVariation1 // CHECK: Generic signature: // CHECK-LABEL: ExtensionDecl {{.*}} base=Outer.InnerVariation2 // CHECK: Generic signature: public struct Outer { public func innerFn(_ b: borrowing B) {} public struct InnerStruct { public func g(_ d: borrowing D) where D: ~Copyable {} } public struct InnerVariation1: ~Escapable {} public struct InnerVariation2: ~Copyable {} } extension Outer.InnerStruct { public func hello(_ t: T) {} } public struct Freestanding where T: ~Escapable {} extension Outer {} extension Outer.InnerVariation1 where A: ~Copyable {} extension Outer.InnerVariation2 where D: ~Escapable, A: ~Copyable {}