I'm not sure whether it was supposed to be supported or not, but either way 
it's a reasonable feature request. Please file at bugs.swift.org.

Jordan


> On Jan 11, 2018, at 14:41, Kenny Leung via swift-users 
> <swift-users@swift.org> wrote:
> 
> Hi All.
> 
> I’d like to be lazy and leave out the classname on a key path whenever 
> possible. I thought that if PartialKeyPath was specified as the argument 
> type, that meant the compiler should be able to figure out what the class is, 
> but this does not seem to be the case.
> 
> Here’s an example that works.
> 
> class ThePath {
>     var isWinding:Bool?
> }
> 
> func walk<T>(aPath:T, forKey:PartialKeyPath<T>) {
> }
> 
> func walkThePath(aPath:ThePath, forKey:PartialKeyPath<ThePath>) {
> }
> 
> func test() {
>     let path = ThePath()
>     walkThePath(aPath:path, forKey:\ThePath.isWinding)
>     walk(aPath:path, forKey:\ThePath.isWinding)
> }
> 
> If you do this then it complains:
> 
> func test() {
>     let path = ThePath()
>     walkThePath(aPath:path, forKey:\.isWinding) // Expression type '()' is 
> ambiguous without more context
>     walk(aPath:path, forKey:\.isWinding)        // Type of expression is 
> ambiguous without more context
> }
> 
> Should I be able to do this?
> 
> Thanks!
> 
> -Kenny
> 
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

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

Reply via email to