> On Mar 24, 2016, at 3:39 PM, Brent Royal-Gordon <br...@architechies.com> 
> wrote:
> 
>>> 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.
> 

Ah, then that's a "pass it by Dmitri" kind of thing, isn't it?

-- E


_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to