> On Apr 5, 2016, at 11:41 AM, Russ Bishop <[email protected]> wrote:
>
> But if you don’t want subclasses to override it then why are you making it
> internal/public in the first place?
I'm wan’t talking about overriding it… In my earlier posts I was talking about
subclasses being able to call a utility function on their superclass and have a
generic be expanded to the subclass type (whatever it is) by using `#Self`.
So, if the superclass `PropertyOwner ` has something like this (excusing typos
since this code can’t be compiled right now, obviously =) ...
static func property<Owner: PropertyOwner, ValueType>(ownerType:
Owner.Type = #Self.self, name: String, value: ValueType)
then a subclass `Sub` could do:
static let foozle = property(name: “foozle”, value: Int(3))
and end up with `foozle` being configured with ownerType = Sub.self. If later
this property is moved to a different class, its ownerType would automatically
change based on its new scope.
-tim
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution