I thought structures were immutable and mutating functions actually just
created new structures, thus maintaining the by value semantics.
On Wed, Dec 23, 2015 at 10:45 AM Lino Rosa via swift-evolution <
[email protected]> wrote:

> I believe the language would be improved by making structures immutable.
>
> 1) The choice between classes and structures isn’t clear right now. If
> structures were immutable it would be natural to use them as value objects.
>
> 2) Refactoring a mutable structure into a class when it’s being passed
> around multiple threads removes the by-value semantics seamlessly. The
> resulting mutable class isn’t thread-safe.
>
> 2.1) Even when passed around a single thread, the resulting class would be
> passed by reference, so any mutations would have unintended consequences.
>
> 3) We could probably remove some syntax: `mutating` keyword and variable
> parameters. Also the `var` keyword before a structure could be used to
> denote reassignment (not mutability), just as it does with classes.
>
> Of corse I might not be seeing the whole picture, so please weigh in.
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to