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
