>> I think this is better modeled in Swift as something like: >> >> let john = (firstName:"John", lastName:"Doe") >> let alice = with(john) { >> $0.firstName = "Alice" >> } > > You can kind of do this now: > > struct Person { > var firstName, lastName: String > } > > func modify<T>(item: T, update: (inout T) -> Void) -> T { > var this = item > update(&this) > return this > } > > let carol: Person = modify(john) { > $0.firstName = "Carol" > } > > print(carol)
You *can* do this now. I'm suggesting it be added to Stdlib. -- Brent Royal-Gordon Architechies _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution