Filed as https://bugs.swift.org/browse/SR-6740 <https://bugs.swift.org/browse/SR-6740>
-Kenny > On Jan 11, 2018, at 3:12 PM, Jordan Rose <jordan_r...@apple.com> wrote: > > 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 > <http://bugs.swift.org/>. > > Jordan > > >> On Jan 11, 2018, at 14:41, Kenny Leung via swift-users >> <swift-users@swift.org <mailto: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 <mailto: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