[swift-evolution] Allowing mutable members in structs
dan.raviv at gmail.com
Fri Mar 11 04:38:27 CST 2016
Would it make sense to allow mutable properties in structs, which could be
mutated even by non-mutating methods?
I've noticed this could be useful when implementing a non-mutating protocol
method. The method semantically doesn't change the state of the protocol's
implementor, and therefore shouldn't be declared as mutating. However,
*some* implementations might need to change some internal state for
implementing the functionality. Making specific struct properties mutable
for such a case could make sense.
Alternatively, Swift could allow implementing a non-mutating protocol
method as a mutating method in the implementor. Currently, this doesn't
seem to be allowed; Swift doesn't recognize the mutating method as a match
for the non-mutating protocol method.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution