You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Just saw a few proposals for RAC 5.0, so I decided to bring this one up again. :)
If RAC 5.0 is targeting Swift 3.0 and API compatibility is not a concern, PropertyType and MutablePropertyType could use a few changes (that were rejected before due to breaking changes & impl. issue):
Introduce PropertyType.withValue(_:) and MutablePropertyType.modify(_:).
Move the MutableProperty swap(:_) to MutablePropertyType.
Make value a default implementation of the protocols, depending on (1).
With these additions, new compositing/transforming operators like map(_:) can be introduced using PropertyType.signal gracefully, but need not worry about breaking conforming types with a thread safe guarantee, e.g. MutableProperty (#2788 (comment)).
The text was updated successfully, but these errors were encountered:
Just played with the latest Swift 3 snapshot. I found that fully realising this proposal would need Swift 3 to have not only @noescape but rethrows allowed in function type annotations. Otherwise, compromises would have to be made until Swift has constrainable existentials, e.g. no rethrows on protocols, or using type erased wrappers in the impl.
Just saw a few proposals for RAC 5.0, so I decided to bring this one up again. :)
If RAC 5.0 is targeting Swift 3.0 and API compatibility is not a concern, PropertyType and MutablePropertyType could use a few changes (that were rejected before due to breaking changes & impl. issue):
PropertyType.withValue(_:)
andMutablePropertyType.modify(_:)
.swap(:_)
toMutablePropertyType
.value
a default implementation of the protocols, depending on (1).These require SE-0049: Move @noescape and @autoclosure to be type attributes to be implemented cleanly.
With these additions, new compositing/transforming operators like
map(_:)
can be introduced usingPropertyType.signal
gracefully, but need not worry about breaking conforming types with a thread safe guarantee, e.g.MutableProperty
(#2788 (comment)).The text was updated successfully, but these errors were encountered: