[Accepted] SE-0268: Refine didSet Semantics

The second review of SE-0268 — Refine didSet Semantics. The proposal has been accepted as it was originally proposed, prior to the second review.

The change overall received considerable support, despite being semantic-breaking in rare cases. Being able to make mutations in-place is an important performance win and one that many current users might already be expecting.

The second review proposed a small alteration to the original proposal: to warn on implicit use of didSet, because in the original review some reviewers felt that accessing the implicit parameter in the body of the function resulting in the fetching behavior could be harmful, so proposed a deprecation warning to be silenced by adding the argument explicitly. During the second review, it became clear that the feeling of most commenters was that the increased verbosity (and new warnings) did not justify the change. The core team agrees with the feedback, and so has accepted the original proposal.

Thanks to everyone who participated in the review, and to @suyashsrijan for authoring the proposal!

Ben Cohen
Review Manager


There is a small typo in title: Semantic --> Semantics