@dynamicMemberLookup
struct StaticLens<T> {
subscript<U>(dynamicMember keyPath: KeyPath<T.Type, U>) -> U {
// Note that we are explicitly referring to static member, not instance member.
return T.self[keyPath: keyPath]
}
}
struct S {
static let a = 1
}
// error: Dynamic key path member lookup cannot refer to static member 'a'
StaticLens<S>().a
Is this intended?
2 Likes
Hello,
No, it is not. All we need is a little energy:
[...] if there was a proposal and working implementation, it would very likely be accepted.
Thanks, I thought it was fixed. Sorry for bring it back.
Edit: I think the error message is misleading, is it worth filing a bug?
beccadax
(Becca Royal-Gordon)
4
I would phrase it a little differently from Gwendal: Static key paths are not currently supported by Swift. However, this is basically just a gap in the language—it’s pretty clear how they would work and they would slot right in to the existing features. Someone does need to implement and propose them, though.
6 Likes