// RUN: %target-swift-emit-ir %s -module-name=main -enable-experimental-feature Embedded | %FileCheck %s // REQUIRES: swift_in_compiler // REQUIRES: swift_feature_Embedded @propertyWrapper @dynamicMemberLookup public struct Binding { public var wrappedValue: Value init(get: @escaping () -> Value, set: @escaping (Value) -> Void) { self.wrappedValue = get() } subscript(dynamicMember keyPath: WritableKeyPath) -> Binding { get { fatalError() } } } public struct State { public var wrappedValue: Wrapped public init(wrappedValue: Wrapped) { self.wrappedValue = wrappedValue } public var projectedValue: Projection { Projection(wrappedValue: wrappedValue) } @dynamicMemberLookup public struct Projection { var wrappedValue: Wrapped public subscript(dynamicMember keyPath: ReferenceWritableKeyPath) -> Binding where Wrapped: AnyObject { Binding(get: { wrappedValue[keyPath: keyPath] }, set: { newValue in wrappedValue[keyPath: keyPath] = newValue }) } } } public struct S { public private(set) subscript(x: Int) -> Int { get { return 27 } mutating set { } } } // CHECK: define {{.*}}@main(