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