<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><blockquote class="" style="-webkit-print-color-adjust: exact; margin: 15px 0px; border-left-width: 4px; border-left-style: solid; border-left-color: rgb(221, 221, 221); padding: 0px 15px; font-family: -apple-system-body, Helvetica, arial, sans-serif; background-color: rgb(255, 255, 255);"><blockquote class="" style="-webkit-print-color-adjust: exact; margin: 15px 0px 0px; border-left-width: 4px; border-left-style: solid; border-left-color: rgb(221, 221, 221); padding: 0px 15px;"><h3 id="toc_1" class="" style="-webkit-print-color-adjust: exact; margin: 20px 0px 10px; padding: 0px; -webkit-font-smoothing: antialiased; cursor: text; position: relative; font-size: 18px;"><div style="font-family: Helvetica; font-size: 12px; font-weight: normal;" class=""><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0176-enforce-exclusive-access-to-memory.md" class="" style="color: rgb(119, 119, 119);">https://github.com/apple/swift-evolution/blob/master/proposals/0176-enforce-exclusive-access-to-memory.md</a></div></h3></blockquote></blockquote></div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><blockquote class="" style="-webkit-print-color-adjust: exact; margin: 15px 0px; border-left-width: 4px; border-left-style: solid; border-left-color: rgb(221, 221, 221); padding: 0px 15px; font-family: -apple-system-body, Helvetica, arial, sans-serif; background-color: rgb(255, 255, 255);"><blockquote class="" style="-webkit-print-color-adjust: exact; margin: 15px 0px 0px; border-left-width: 4px; border-left-style: solid; border-left-color: rgb(221, 221, 221); padding: 0px 15px;"></blockquote></blockquote><ul class="" style="-webkit-print-color-adjust: exact; margin: 15px 0px; padding-left: 30px; font-family: -apple-system-body, Helvetica, arial, sans-serif; background-color: rgb(255, 255, 255);"><li class="" style="-webkit-print-color-adjust: exact; margin: 0px;">What is your evaluation of the proposal?</li></ul><div class=""><font face="-apple-system-body, Helvetica, arial, sans-serif" class="">+1 It seems to be a carefully considered and balanced approach to simultaneous memory access in single threaded code.</font></div><ul class="" style="-webkit-print-color-adjust: exact; margin: 15px 0px; padding-left: 30px; font-family: -apple-system-body, Helvetica, arial, sans-serif; background-color: rgb(255, 255, 255);"><li class="" style="-webkit-print-color-adjust: exact; margin: 0px;">Is the problem being addressed significant enough to warrant a change to Swift?</li></ul><div class=""><font face="-apple-system-body, Helvetica, arial, sans-serif" class="">It sure seems to be.</font></div><ul class="" style="-webkit-print-color-adjust: exact; margin: 15px 0px; padding-left: 30px; font-family: -apple-system-body, Helvetica, arial, sans-serif; background-color: rgb(255, 255, 255);"><li class="" style="-webkit-print-color-adjust: exact; margin: 0px;">Does this proposal fit well with the feel and direction of Swift?</li></ul><div class=""><font face="-apple-system-body, Helvetica, arial, sans-serif" class="">Absolutely. Safety is one of the paramount goals of Swift and the&nbsp;‘gotchas’ listed in the document can lead to subtle bugs, with potentially fatal consequences.</font></div><ul class="" style="-webkit-print-color-adjust: exact; margin: 15px 0px; padding-left: 30px; font-family: -apple-system-body, Helvetica, arial, sans-serif; background-color: rgb(255, 255, 255);"><li class="" style="-webkit-print-color-adjust: exact; margin: 0px;">If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?</li></ul><div class=""><span style="font-family: -apple-system-body, Helvetica, arial, sans-serif;" class="">variants of `memcpy()` and similar C functions.</span><font face="-apple-system-body, Helvetica, arial, sans-serif" class="">&nbsp;Complex&nbsp;</font><span style="font-family: -apple-system-body, Helvetica, arial, sans-serif;" class="">manipulation of</span>&nbsp;<font face="-apple-system-body, Helvetica, arial, sans-serif" class="">data structures &nbsp;in C, and C++ could lead to similar issues, I suppose, but the simple memory model of these languages puts developers on guard against simultaneous memory access. I&nbsp;certainly was not aware of these issues is Swift, but I am very&nbsp;cautious around&nbsp;mutating&nbsp;value types.&nbsp;</font><span style="font-family: -apple-system-body, Helvetica, arial, sans-serif;" class="">&nbsp;</span><span style="font-family: -apple-system-body, Helvetica, arial, sans-serif;" class="">I expect&nbsp;that many Swift developers coming from classical OO languages are similarly wary of mutating value types, or should be.&nbsp;</span><span style="font-family: -apple-system-body, Helvetica, arial, sans-serif;" class="">Fixing these&nbsp;issues will give me more&nbsp;confidence when dealing with mutating value types.</span></div><ul class="" style="-webkit-print-color-adjust: exact; margin: 15px 0px; padding-left: 30px; font-family: -apple-system-body, Helvetica, arial, sans-serif; background-color: rgb(255, 255, 255);"><li class="" style="-webkit-print-color-adjust: exact; margin: 0px;">How much effort did you put into your review? A glance, a quick reading, or an in-depth study?</li></ul><div class=""><font face="-apple-system-body, Helvetica, arial, sans-serif" class="">I read through the proposal. It is very well written. &nbsp;While I did not carefully study each case, I feel that I have a good&nbsp;understanding of the problem and the philosophy behind the solution. I feel confident that this will be a big improvement to the safety of Swift.</font></div></div></div><br class=""></body></html>