[swift-evolution] [Review #2] SE-0161: Smart KeyPaths: Better Key-Value Coding for Swift

Ed Wellbrook edwellbrook at gmail.com
Thu Apr 6 08:03:02 CDT 2017


Apologies if I’ve simply just missed something, but are the trailing right parentheses in the proposed solution intentional? Reading through the code, having loosely followed this discussion, I’m really confused.

Examples:

```
// create a key path and use it
let firstFriendsNameKeyPath = \Person.friends[0].name)
                                                     ^ this

// optional properties work too
let bestFriendsNameKeyPath = \Person.bestFriend?.name)
                                                     ^ this
```

If it’s intentional, I’m very much against it.

Cheers,
Ed

> On 6 Apr 2017, at 13:14, Ricardo Parada via swift-evolution <swift-evolution at swift.org> wrote:
> 
> 
>> On Apr 5, 2017, at 11:13 PM, Xiaodi Wu <xiaodi.wu at gmail.com> wrote:
>> 
>> It is also worth mentioning that, with the sigil, the `keyPath` label may not be so necessary:
>> 
>> 	print(luke[\.friends[0].name])
>> 	// or, if the suggestion above is accepted
>> 	print(luke[\.friends[0].name\])
> 
> 
> I think the label makes it more obvious, specially when using it with a key path variable:
> 
> let someKeyPath = ...
>  
> person[
> keyPath: someKeyPath]
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list