[swift-evolution] SE-0030 Property behaviours
Антон Жилин
antonyzhilin at gmail.com
Thu Feb 25 16:41:57 CST 2016
var behaviour computed<Value>: Value {
accessor get() -> Value
accessor set(newValue: Value) {
fatalError()
}
get {
return get()
}
set {
set(newValue)
}
}
There seems to be no way we can disable `set` if `accessor set` is
defaulted, based on current property behaviour rules. We could add both
@computed and @computedReadOnly, for example.
Behaviors already support read-only getters—you just omit the set {} block.
>
And I've just discovered a gaping hole in this design: mutability of
`accessor get` cannot be automatically forwarded to `get`. We would have to
always declare mutable `get`. Or have @computed, @computedMutable,
@computedReadOnly, @computedMutableReadOnly.
So computed properties should remain untouched for now, I guess.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160226/52400868/attachment.html>
More information about the swift-evolution
mailing list