> On Jun 19, 2017, at 5:23 PM, Brett Walker via swift-users 
> <swift-users@swift.org> wrote:
> 
> Hi all,
> 
> In the Swift 4 Keypaths proposal [0161] there seem to be several types that 
> are unimplemented (or not working as I expect them to), and I'm not sure 
> whether these are simply unfinished in Beta 1, or just ideas that weren't 
> accepted.
> 
> For instance, according to the proposal AnyKeyPath is supposed to be fully 
> type-erased and access properties as optionals at run-time, but using it I 
> only get the compile-time error "Type "FooClass" has no subscript members", 
> even when applied to objects that still have the original type of the 
> KeyPath's root.
> 
> Even if I use PartialKeyPath<Root> I get the same error:
> --
> var tester = TestClass(name: "steve")
> let tester_path = \TestClass.name
> 
> let partial_path:PartialKeyPath<TestClass> = tester_path
> let name = tester[keyPath: partial_path] /// no subscript members error here
> --
> 
> Only when I either use the original path variable, or cast it to 
> KeyPath<TestClass, String>, am I able to access the property without an 
> error. I am wanting to use KeyPaths in a more generic way, so the AnyKeyPath 
> and PartialKeyPath would be helpful. Does anyone have insight into the status 
> of these KeyPath types?

Support for these did not make it into Xcode 9 beta 1. They are available in 
swift.org snapshot toolchains, if you want to experiment with them now, and 
should be in a future seed of Xcode 9.

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

Reply via email to