<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=""><br class=""><div><blockquote type="cite" class=""><div class="">On Sep 6, 2017, at 10:15 PM, Taylor Swift &lt;<a href="mailto:kelvin13ma@gmail.com" class="">kelvin13ma@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">okay so I think so far what’s been agreed on is <br class=""><br class=""><div class=""><b class="">1</b>. rename “Bytes” to “Memory” in the raw pointer API. Note: this brings the `<span style="font-family:monospace,monospace" class="">copyBytes&lt;C&gt;(from:)</span>` collection method into the scope of this proposal<br class=""></div><div class=""><br class=""></div><b class="">2</b>. change raw offsets to be in terms of bytes, not typed strides. This argument will be called `<span style="font-family:monospace,monospace" class="">atByteOffset:</span>` and will only appear in <span style="font-family:monospace,monospace" class="">UnsafeMutableRawBufferPointer</span>. “<span style="font-family:monospace,monospace" class="">at:</span>” arguments are no longer needed in <span style="font-family:monospace,monospace" class="">UnsafeMutableRawPointer</span>, since we can just use pointer arithmetic now.<br class=""><div class=""><div class=""><br class=""><br class=""></div><b class="">3</b>. move <span style="font-family:monospace,monospace" class="">UnsafeMutableBufferPointer</span>’s `<span style="font-family:monospace,monospace" class="">at:</span>` arguments to the front of the parameter list. mostly cause any pointer arithmetic happens in the front so structurally we want to mirror that.</div><div class=""><br class=""></div><div class=""><b class="">4</b>. add dual (to:) single element initializers and assigners to <span style="font-family:monospace,monospace" class="">UnsafeMutablePointer</span>, but not <span style="font-family:monospace,monospace" class="">UnsafeMutableRawPointer</span> because it’s apparently not useful there. <span style="font-family:monospace,monospace" class="">`UnsafeMutableRawPointer.initializeMemory&lt;T&gt;(as:</span><wbr class=""><span style="font-family:monospace,monospace" class="">repeating:count:)</span>` still loses its default count to prevent confusion with its buffer variant.<br class=""></div><div class=""><br class=""></div><div class=""><b class="">5</b>. memory deallocation on buffer pointers is clearly documented to only be defined behavior when the buffer matches a whole heap block. <br class=""></div></div>
</div></blockquote></div><br class=""><div class="">Yay for all 5.</div><div class="">-Andy</div></body></html>